我随便声明一个委托
[Serializable]
public delegate int processSaveHead();
然后想这样存储在ViewState中
public processSaveHead SaveHead
{
get
{
if (ViewState["SaveHead"] == null)
{
processSaveHead temp = new processSaveHead(somenewmethiod);
ViewState["SaveHead"] = temp;
}
return (processSaveHead)ViewState["SaveHead"];
}
set
{
ViewState["SaveHead"] = value;
}
}但页面报错:must be ed as Serializable or have a TypeConverter other than ReferenceConverter to be put in viewstate。
请问如果将这个delegate存储到ViewState中,普通的实体类是可以这样存进去的。如果真能解我之惑,我还会加分!
[Serializable]
public delegate int processSaveHead();
然后想这样存储在ViewState中
public processSaveHead SaveHead
{
get
{
if (ViewState["SaveHead"] == null)
{
processSaveHead temp = new processSaveHead(somenewmethiod);
ViewState["SaveHead"] = temp;
}
return (processSaveHead)ViewState["SaveHead"];
}
set
{
ViewState["SaveHead"] = value;
}
}但页面报错:must be ed as Serializable or have a TypeConverter other than ReferenceConverter to be put in viewstate。
请问如果将这个delegate存储到ViewState中,普通的实体类是可以这样存进去的。如果真能解我之惑,我还会加分!
如果不放在ViewState中的话,每次点击自定义控件中的按钮时,委托就会丢掉。
我现在可以通过回发事件的方法解决,不过需要在使用自定义控件的页面加载这个事件。
如果能放在ViewState中时,委托就不会丢掉,页面就不需要加载任何事件,这样代码看起来也美观。
这就是我的主要意图,您们看这样可行吗?