gpt4 book ai didi

c# - ASP.NET : How to store placeholder in viewstate?

转载 作者:行者123 更新时间:2023-12-02 22:21:42 25 4
gpt4 key购买 nike

我正在尝试开发一个页面。有一个按钮和一个占位符。单击按钮时,用户控件将添加到占位符。

在每次点击按钮时,应将许多用户控件添加到占位符。

我试图在预初始化事件中将占位符存储在 View 状态中,但是在加载事件中从 View 状态中检索占位符时 View 状态仍然为空。

下面是我的代码:

  protected void PreInit(object sender, EventArgs e)
{
this.OnPreInit(e);
if (!Page.IsPostBack)
{
ViewState["c"] = PlaceHolder1;

}
else { PlaceHolder1 = (PlaceHolder)ViewState["c"]; }
}

protected void Page_Load(object sender, EventArgs e)
{

if(IsPostBack)
{ PlaceHolder1= (PlaceHolder)ViewState["c"]; }

}


public void addDepartmentBtn_Click(object sender, EventArgs e)
{
// User Control Code


c1 = LoadControl("~/AddDepartment.ascx");
PlaceHolder1.Controls.Add(c1);
}

如果 View 状态不适合这种情况,那么实现此目的的替代方法是什么?

最佳答案

您必须在每个回帖中为您的占位符重新添加控件。

您对 ViewState 的尝试是错误的树——ViewState 用于完全不同的东西,即使您愿意,您也只能将可序列化的东西存储到 ViewState 中。

关于c# - ASP.NET : How to store placeholder in viewstate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com