我有一个网络自定义控件
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
Inherits="WebApplication5.WebUserControl1" %>
<asp:DropDownList ID="ddlnew" AutoPostBack="true" runat="server"
onselectedindexchanged="ddlnew_SelectedIndexChanged">
<asp:ListItem Text="text1" />
<asp:ListItem Text="text1" />
<asp:ListItem Text="text2" />
<asp:ListItem Text="text1" />
<asp:ListItem Text="text2" />
<asp:ListItem Text="text2" />
</asp:DropDownList>
并在 Default.aspx 页面上
<asp:Button Text="PostBack" ID="btnPost" runat="server"
onclick="btnPost_Click" />
以及 Default.aspx.cs
protected void btnPost_Click(object sender, EventArgs e)
{
WebUserControl1 uc = (WebUserControl1)Page.LoadControl("~/WebUserControl1.ascx");
PlaceHolder.Controls.Add(uc);
}
当我们从下拉列表中选择任何项目时,它会回发并且控件从页面中隐藏
所以请帮助如何防止它隐藏
thanks
动态创建的控件must be recreated on every postback
,当您意识到每次回发都会创建一个新实例时Page
类,并且在这个实例中,您必须每次都重新创建所有控件,这变得更加明显。
这是一篇关于此的好文章
我回答过的另一篇关于此问题的帖子
还有另一个
要维护回发之间的状态,您可以使用ViewState
or ControlState
MSDN 控制状态与视图状态示例
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)