我正在嘗試開發一個頁面。有一個按鈕和一個placeholeder的 。 點擊按鈕時,用戶控件被添加到佔位符中。ASP.NET:如何在viewstate中存儲佔位符?
每次點擊按鈕時,應將多個用戶控件添加到佔位符。
我想存儲佔位符在預覽事件的視圖狀態,但從視圖狀態檢索佔位符在加載事件viewstate保持爲空。
下面是我的代碼:
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);
}
如果視圖狀態不適合在這個scenarion那麼什麼是另一種方式來實現這一目標?
通過存儲在ViewState中,您是指佔位符內的控件? –
PlaceHolder1控件是否存在於標記中? – Igor
@ System Down:在第一個按鈕上單擊我的用戶控件位於佔位符內。現在我想要在視圖中存儲佔位符。在隨後的下一個按鈕單擊佔位符sholud從視圖狀態獲取檢索新的用戶控件添加到佔位符。 – Raj