我想要专家建议,当在aspx代码中同时提供DefaultValue和ControlParameter引用时,sql或object select参数实际上会发生什么。在下面的示例中,ControlParameter是一个在表单加载中设置的隐藏控件(例如值为50)。QUESTION1:在执行select操作时,哪个值(控件值50或默认值99)具有优先权?
Q2:为ControlParameter提供一个DefaultValue是很糟糕的编码吗?
来自aspx代码的示例:
<SelectParameters>
<asp:ControlParameter ControlID="hidUID_DIVISION" Name="UID_DIVISION"
PropertyName="Value" Type="Int32" DefaultValue="99" />谢谢。
发布于 2016-01-10 07:24:01
根据MSDN:-
DefaultValue属性用于将参数绑定到值的场景中,但值为null或在计算参数对象时无法解析。
因此,它回答了您的第一个问题,因为您的控制参数已经被解析,并且它的值50将被使用,默认值将被忽略。
为一个DefaultValue提供一个ControlParameter是很糟糕的编码吗?
不,一点也不,实际上您应该提供默认值,以避免用户可能面临的任何混乱。例如,您已经使用gridview & say数据源控件创建了一个简单的搜索功能。您有一个下拉列表,它将用于过滤数据。现在,当下拉列表中没有选择任何内容时,当第一次加载页面时,将不会显示任何记录,因为基于下拉的筛选条件将失败。为了避免这种情况,您应该提供一个默认值,以便当下拉列表中没有选择任何内容时,用户可以看到所有的记录。Check this answer来理解我的意思。
https://stackoverflow.com/questions/34702522
复制相似问题