【问题标题】:How can I fire Selected Index Changed event without any postback using UpdatePanel?如何在不使用 UpdatePanel 进行任何回发的情况下触发 Selected Index Changed 事件?
【发布时间】: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


    【解决方案1】:

    是的,您可以通过使用 ajax 级联下拉菜单来实现它

    通过使用它,您可以在不启动任何回发的情况下实现绑定

    关注这个链接

    http://www.ajaxcontroltoolkit.com/CascadingDropDown/CascadingDropDown.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      相关资源
      最近更新 更多