DropDownList的SelectedindexChanged()事件填充页面上的ListBox.显然,这会将页面发布回服务器.有没有办法在没有完全回发的情况下实现它?
protected void ddlTablo_SelectedindexChanged(object sender,EventArgs e) { List<string> list = new List<string>(); ListBox1.Items.Clear(); var columnNames= from t in typeof(Person).GetProperties() select t.Name; foreach (var item in columnNames) { list.Add(item); } ListBox1.DataSource = list; ListBox.DataBind(); }
解决方法
您可以将DropDownList放入< asp:UpdatePanel>并在DropDownList上设置AutopostBack =“true”.您必须将触发器设置为SelectedindexChanged事件.
像这样的东西(不要忘记脚本管理器)
<asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="drop1" runat="server" OnSelectedindexChanged="ddlTablo_SelectedindexChanged" /> </ContentTemplate> <Triggers> <asp:AsyncPostbackTrigger ControlID="drop1" EventName="SelectedindexChanged" /> </Triggers> </asp:UpdatePanel>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。