我有一个 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 放置在单独的更新面板中,但页面窗台具有相同的行为:-(