【问题标题】:Asp.net sql or object-datacontrol select parameter having both DefaultValue and ControlParameterAsp.net sql 或 object-datacontrol 选择参数同时具有 DefaultValue 和 ControlParameter
【发布时间】:2016-01-10 05:51:14
【问题描述】:

我希望得到专家的建议,了解在 aspx 代码中同时为 sql 或对象选择参数提供 DefaultValue 和 ControlParameter 引用时实际发生的情况。 在下面的示例中,ControlParameter 是在表单加载中设置的隐藏控件(例如值 50)。 QUESTION1:执行选择操作时,哪个值(控制值 50 或默认值 99)具有优先权?
Q2:为 ControlParameter 提供 DefaultValue 是不是很糟糕?

aspx 代码示例:

<SelectParameters>
   <asp:ControlParameter ControlID="hidUID_DIVISION" Name="UID_DIVISION" 
        PropertyName="Value" Type="Int32" DefaultValue="99" />

谢谢。

【问题讨论】:

    标签: asp.net webforms sqldatasource


    【解决方案1】:

    根据 MSDN:-

    DefaultValue 属性用于参数为 绑定到一个值,但该值为 null 或无法解析时 参数对象被评估。

    所以它回答了您的第一个问题,因为您的控制参数已经解析并且具有值50,它将被使用并且默认值将被忽略。

    为 ControlParameter 提供 DefaultValue 是不是很糟糕?

    一点也不,实际上您应该提供默认值以避免用户可能面临的任何混淆。举例来说,您已经使用 gridview 和 Sqldatasource 控件创建了一个简单的搜索功能。您有一个下拉菜单,将用于过滤数据。现在,当在下拉列表中未选择任何内容以及第一次加载页面时,将不会显示任何记录,因为基于下拉列表的过滤条件将失败。为避免这种情况,您应该提供一个默认值,以便在下拉菜单中未选择任何内容时用户可以看到所有记录。 Check this answer 明白我的意思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      相关资源
      最近更新 更多