ASP.NET DropDownList OnSelectedIndexChanged事件未激发
我试图同时使用一些AJAX和ASP.Net,使我能够在不刷新整个页面的情况下运行函数,但我在这样做时遇到了一个问题 这是我的密码ASP.NET DropDownList OnSelectedIndexChanged事件未激发,asp.net,ajax,vb.net,postback,Asp.net,Ajax,Vb.net,Postback,我试图同时使用一些AJAX和ASP.Net,使我能够在不刷新整个页面的情况下运行函数,但我在这样做时遇到了一个问题 这是我的密码 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" />
<asp:TextBox runat="server" ID="txt1" />
</ContentTemplate>
</asp:UpdatePanel>
事件不会触发,因为我的ddl上没有AutoPostBack=“True”
,但将其添加到ddl将回发整个页面
有没有办法避免使用AutoPostBack=“True”
只更新面板
我知道我可以使用asp:Button
来解决这个问题,但我真的希望能够将ddl与OnSelectedIndexChanged一起使用
谢谢如果要避免将整个viewstate发送到服务器,请查看
相反,如果您希望避免刷新整个页面,但使用回发,则应该可以:
<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" AutoPostBack="True" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostbackTrigger ControlID="ddl1" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:TextBox runat="server" ID="txt1" />
</ContentTemplate>
</asp:UpdatePanel>
尝试使用相同的代码和不同的页面名称创建新页面。为我工作r您确定AutoPostBack=“True”回发整个页面?添加AutoPostBack=“True”不应该回发整个页面(至少页面不会flickr)-它应该只更新更新面板的内容?AutoPostBack=“True”。谢谢我讨厌使用UpdatePanels(我更喜欢JQuery),所以我觉得自己回到了过去。但这就是我今天需要的。我完全不明白为什么这个答案没有在其他地方给出,而有人问过类似的问题。正是我想要的。谢谢。请评论或改进它
<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" AutoPostBack="True" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostbackTrigger ControlID="ddl1" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:TextBox runat="server" ID="txt1" />
</ContentTemplate>
</asp:UpdatePanel>