ASP.NET UpdatePanel无法正常工作,它会刷新整个页面

问题描述 投票:1回答:4

我是UpdatePanel的新手,我有2个DropDownList:DropDownList_1DropDownList_2其中DropDownList_2内容将取决于DropDownList_1所选值,这是我的代码:

ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="DropDownList_1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList_1_SelectedIndexChanged" DataSourceID="businessgroup" DataTextField="BusinessGroupName" DataValueField="Id"></asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="DropDownList_1" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

<asp:DropDownList ID="DropDownList_2" runat="server" DataSourceID="jobposition" DataTextField="JobPositionName" DataValueField="Id"></asp:DropDownList>

CS:

protected void DropDownList_1_SelectedIndexChanged(object sender, EventArgs e)
{
    SqlDataSource1.SelectCommand = "SELECT DISTINCT * FROM [JobPosition] WHERE BusinessGroupID ="+DropDownList_1.SelectedValue;
    DropDownList_2.DataBind();
}

其工作如上所述,但是我不希望在输出中刷新整个页面,我也尝试在DropDownList_1中删除AutoPostBack="true",但它停止工作,在这里我在做什么错?谢谢!

编辑:

我也尝试过在UpdatePanel的ContentTemplate内移动DropDownList_2,但整个页面仍在刷新。

c# asp.net asp.net-ajax updatepanel autopostback
4个回答
1
投票

我找到了修复程序,感谢Cristina提醒我检查控制台错误。我想做的是仅供参考,以供遇到任何相同问题的人使用:


0
投票

这是您应该怎么做:


0
投票

当您使用更新面板时,必须在刷新页面的同时注册事件,因为必须使用Microsoft的PageRequestManager重新订阅每个更新。


0
投票

如果您的面板在按照指南进行设置后仍然发回,请检查是否未为执行回调的特定控件或通过将ClientIDMode默认设置为从Web继承的静态设置为ClientIDMode="Static" .config,页面或父容器。

© www.soinside.com 2019 - 2024. All rights reserved.