1
也許這是漫長的一天,但我無法在CompositeControl中持久保存由ASP.NET ViewState支持的集合。下面是一個簡化版本:在CompositeControl中持久保存由視圖狀態支持的集合
public class MyControl : CompositeControl
{
public Collection<MyObject> MyObjectCollection
{
get {
return (Collection<MyObject>)ViewState["coll"] == null ?
new Collection<MyObject>()
: (Collection<MyObject>)ViewState["coll"];
}
set { ViewState["coll"] = value; }
}
}
public partial class TestPage : System.Web.UI.Page
{
protected void btn_Click(object sender, EventArgs e)
{
myControl1.MyObjectCollection.Add(new MyObject());
}
}
當單擊該按鈕時,事件處理btn_Click執行罰款,但對於MyObjectCollection二傳手不會被調用,因此新的MyObject()永遠不會被持久化。
我想我只是有一個金髮的時刻。任何人都喜歡幫忙嗎?
回想起來,顯而易見的解決方案。感謝指針......真是漫長的一天。 – tomfanning 2010-04-28 20:27:10