Asp.net sql 或 object-datacontrol select 参数同时具有 DefaultValue 和 ControlParameter
Asp.net sql or object-datacontrol select parameter having both DefaultValue and ControlParameter
我希望获得有关在 aspx 代码中同时为 sql 或对象 select 参数提供 DefaultValue 和 ControlParameter 引用时实际发生的情况的专家建议。
在下面的示例中,ControlParameter 是一个在表单加载中设置的隐藏控件(比如值为 50)。问题 1:执行 select 操作时,哪个值(控制值 50 或默认值 99)优先?
Q2:为 ControlParameter 提供 DefaultValue 是不是编码不好?
aspx 代码示例:
<SelectParameters>
<asp:ControlParameter ControlID="hidUID_DIVISION" Name="UID_DIVISION"
PropertyName="Value" Type="Int32" DefaultValue="99" />
谢谢。
根据 MSDN:-
The DefaultValue property is used in scenarios where the parameter is
bound to a value, but the value is null or cannot be resolved when the
Parameter object is evaluated.
所以它回答了你的第一个问题,因为你的控制参数已经解析并且具有值 50
它将被使用并且默认值将被忽略。
Is it poor coding to supply a DefaultValue for a ControlParameter?
一点也不,实际上您应该提供默认值以避免用户可能面临的任何混淆。举个例子,假设您已经使用 gridview 和 Sqldatasource 控件创建了一个简单的搜索功能。您有一个下拉列表将用于过滤数据。现在,当下拉列表中没有选择任何内容并且首次加载页面时,将不会显示任何记录,因为基于下拉列表的过滤条件将失败。为避免这种情况,您应该提供一个默认值,以便用户在下拉列表中没有选择任何内容时可以看到所有记录。 明白我的意思。
我希望获得有关在 aspx 代码中同时为 sql 或对象 select 参数提供 DefaultValue 和 ControlParameter 引用时实际发生的情况的专家建议。
在下面的示例中,ControlParameter 是一个在表单加载中设置的隐藏控件(比如值为 50)。问题 1:执行 select 操作时,哪个值(控制值 50 或默认值 99)优先?
Q2:为 ControlParameter 提供 DefaultValue 是不是编码不好?
aspx 代码示例:
<SelectParameters>
<asp:ControlParameter ControlID="hidUID_DIVISION" Name="UID_DIVISION"
PropertyName="Value" Type="Int32" DefaultValue="99" />
谢谢。
根据 MSDN:-
The DefaultValue property is used in scenarios where the parameter is bound to a value, but the value is null or cannot be resolved when the Parameter object is evaluated.
所以它回答了你的第一个问题,因为你的控制参数已经解析并且具有值 50
它将被使用并且默认值将被忽略。
Is it poor coding to supply a DefaultValue for a ControlParameter?
一点也不,实际上您应该提供默认值以避免用户可能面临的任何混淆。举个例子,假设您已经使用 gridview 和 Sqldatasource 控件创建了一个简单的搜索功能。您有一个下拉列表将用于过滤数据。现在,当下拉列表中没有选择任何内容并且首次加载页面时,将不会显示任何记录,因为基于下拉列表的过滤条件将失败。为避免这种情况,您应该提供一个默认值,以便用户在下拉列表中没有选择任何内容时可以看到所有记录。