我有一个绑定到 SqlDataSource 的下拉列表。
我有另一个绑定到不同 SqlDataSource 的下拉列表。
第二个 SqlDataSource 将第一个下拉列表作为控制参数。
我正在尝试这样做...
<asp:SqlDataSource ID="sqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM Test WHERE Param = @param;"
CancelSelectOnNullParameter="true">
<SelectParameters>
<asp:ControlParameter ControlID="dropDown1" Name="param"
PropertyName="SelectedValue"
ConvertEmptyStringToNull="true" />
</SelectParameters>
</asp:SqlDataSource>
dropDown1.SelectedValue = "someValue"
dropDown2.DataBind()
但我没有得到任何结果。但是,如果我将第二个 SqlDataSource 的控制参数设置为文本框,它就可以工作。例如,这有效:
<asp:ControlParameter ControlID="txt" Name="param"
PropertyName="Text"
ConvertEmptyStringToNull="true" />
txt.Text = "someValue"
dropDown2.DataBind()
任何想法为什么会这样?