我有一个asp.net页面:
更新面板如下所示:
<asp:UpdatePanel ID="MyUpdatePanel" runat="server">
<ContentTemplate>
<asp:DropDownList ID="MyDropDownList" runat="server"
AutoPostBack="True">
...
</asp:DropDownList>
<asp:TextBox ID="MyTextBox" runat="server" />
<asp:Button ID="MySubmitButton" runat="server" text="Submit" />
</ContentTemplate>
</asp:UpdatePanel>
当用户在下拉列表中选择一个选项时,文本框会出现问题,可能会启用或禁用,或者可能会填充或清空(取决于所选的选项)。此更改不应影响页面的其余部分(这就是我将其放在UpdatePanel中的原因)。
现在,在更新面板之外,我有了页面的其余部分。像这样:
<asp:ObjectDataSource ID="MyObjectDataSource" runat="server"
SelectMethod="MySelect"
TypeName="MyType">
<SelectParameters>
<asp:ControlParameter Name="Parameter1" Type="String" ControlID="MyDropDownList" PropertyName="SelectedValue" />
<asp:ControlParameter Name="Parameter2" Type="String" ControlID="MyTextBox" PropertyName="Text" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="MyGridView" runat="server"
AutoGenerateColumns="False"
DataKeyNames="MY_ID"
DataSourceID="MyObjectDataSource">
<Columns>
....
</Columns>
</asp:GridView>
同样,ObjectDataSource和GridView在UpdatePanel外面。
但每当我在下拉列表中选择一个选项时,都会调用MyObjectDataSource的SelectMethod!
我做错了什么?
提前感谢您的帮助。
更新:
我尝试将MyObjectDataSource和MyGridView放在SEPARATE更新面板中,但页面窗口具有相同的行为: - (
答案 0 :(得分:0)
我找到了解决方案。
现在只有当用户点击MySubmitButton时才会调用MyObjectDataSource的SelectedMethod。
: - )