【发布时间】:2015-01-01 14:25:59
【问题描述】:
我有一个登录页面,它有一个 SignInUserControl 页面并且位于 MasterPage 中。在登录页面内,我有 2 个下拉列表
ddl国家
ddl城市
我想改变国家,它会自动加载城市。使用此代码:
<li>
<label>Your Country:</label>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlCountry" runat="server" Width="356px"
DataTextField="Country" DataValueField="CodCountry"
OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" AutoPostBack="true" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCountry" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</li>
<li>
<label>Your City:</label>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="ddlGestor" runat="server" Width="356px" DataTextField="City" DataValueField="CodCity" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCountry" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</li>
城市已加载,但 AutoPostBack="True" 调用 SignIn Page_Load()、MasterPage Page_Load() 和 SignInUserControl Page_Load()。顺便说一句,我在这些 Page_Load() 中有其他函数,所以它们也被调用了
有什么办法可以避免这种情况吗?似乎 UpdatePanel 不是真正的 Ajax,因为它必须向服务器发送所有这些页面,而不仅仅是我想要的代码块
【问题讨论】:
标签: javascript asp.net ajax triggers updatepanel