2008/03/06

[原來如此]之Web Controls的ViewState無法保存

以下兩段子控制項的處理,會造成ViewState的結果不同(前者在Table Cell的Text無法Keep於ViewState中,後者才是正解) :

(1)
protected void Page_Load(object sender, EventArgs e)
{
Table t1 = new Table();
t1.Rows.Add(new TableRow());
t1.Rows[0].Cells.Add(new TableCell());
if (!this.IsPostBack)
{
t1.Rows[0].Cells[0].Text = "Text";
}
this.Controls.Add(t1);
}

(2)
protected void Page_Load(object sender, EventArgs e)
{
Table t1 = new Table();
this.Controls.Add(t1);
t1.Rows.Add(new TableRow());
t1.Rows[0].Cells.Add(new TableCell());
if (!this.IsPostBack)
{
t1.Rows[0].Cells[0].Text = "Text";
}
}

以上對於.NET元件開發上, 非常重要哦! 花了我8個小時的小差異大問題!

沒有留言: