У меня есть страница входа в систему, которая имеет страницу SignInUserControl и находится внутри MasterPage. Внутри страницу входа у меня есть 2 раскрывающихся списковКак я могу запустить событие Selected Index Changed без обратной передачи с помощью UpdatePanel?
ddlCountry
ddlCity
Я хочу изменить страну и автоматически загружать города. Используя этот код:
<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" называет Page_Load (для входа в аккаунт), то MasterPage Page_Load() и SignInUserControl Page_Load(). И, кстати, у меня есть другие функции внутри этих Page_Load(), поэтому их также называют
Есть ли способ избежать этого? Похоже, UpdatePanel не является реальным Ajax, потому что работать он должен отправить на сервер всех этих страниц, а не только блок кода, который я хочу