我想获得有关在aspx代码中同时给出sql或object select参数时实际发生的事情的专家建议。 在下面的示例中,ControlParameter是一个隐藏控件,它在表单载荷中设置(比如值50)。问题1:执行选择操作时哪个值(控制值50或默认值99)优先? Q2:为ControlParameter提供DefaultValue的编码是否很差?
来自aspx代码的示例:
<SelectParameters>
<asp:ControlParameter ControlID="hidUID_DIVISION" Name="UID_DIVISION"
PropertyName="Value" Type="Int32" DefaultValue="99" />
感谢。
答案 0 :(得分:1)
根据MSDN: -
DefaultValue属性用于参数为的场景 绑定到一个值,但该值为null或无法解析时 评估参数对象。
因此,它回答了您的第一个问题,因为您的控制参数已经解析,并且将使用值50
,将忽略默认值。
为ControlParameter提供DefaultValue的编码是否很差?
总而言之,实际上您应该提供默认值以避免用户可能遇到的任何混淆。例如,假设您使用gridview&amp;创建了一个简单的搜索功能。 Sqldatasource控制。您有一个下拉列表将用于过滤数据。现在,当下拉列表中没有选择任何内容时,第一次加载页面时,将不会显示任何记录,因为基于下拉列表的过滤条件将失败。为了避免这种情况,您应该提供一个默认值,以便用户可以在下拉列表中未选择任何内容时查看所有记录。 Check this answer了解我的意思。