0
我剝離了我的解決方案,以便我可以理解爲什麼這不起作用。希望有人能幫忙。單擊動態鏈接按鈕時維護變量
只有一個aspx頁面上的佔位符控件:
<asp:PlaceHolder ID="Placeholder1" runat="server" />
在後面的代碼,我設置了一個名爲測試並在Page_Load中的變量,改變變量別的東西。爲什麼,當我點擊動態添加LinkButton的,在測試變量沒有維護它的狀態:
public string test = "Hello";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Write(test + "<br />"); //test = "Hello"
test = "Hello World!";
Response.Write(test + "<br />"); //test = "Hello World!"
}
Placeholder1.Controls.Clear();
CreateDynamicControl();
}
private void CreateDynamicControl()
{
LinkButton lnk = new LinkButton();
lnk.Click += new EventHandler(lbl_Click);
lnk.Text = "TEST LinkButton";
Placeholder1.Controls.Add(lnk);
}
void lbl_Click(object sender, EventArgs e)
{
LinkButton lnk = sender as LinkButton;
Response.Write("lbl_Click: " + test + "<br />");
}
由於我對解決方案感到厭倦,實際上我需要在回發期間維護一個Collection。我仍然應該使用ViewState甚至是Session嗎?哪個更好? – user2569353 2010-11-29 18:54:12