0
在一些书,我已经看到了他们保存这样的用户控件的自定义属性:在这样的视图状态用户控件的ViewState
private int id = 0;
public int ID
{
get { return id; }
set { id = value; }
}
protected void Page_Init(object sender, EventArgs e)
{
this.Page.RegisterRequiresControlState(this);
}
protected override void LoadControlState(object savedState)
{
object[] ctlState = (object[])savedState;
base.LoadControlState(ctlState[0]);
this.ID = (int)ctlState[1];
}
protected override object SaveControlState()
{
object[] ctlState = new object[2];
ctlState[0] = base.SaveControlState();
ctlState[1] = this.ID;
return ctlState;
}
我的问题是,为什么可以简单地存储它(在二传手):Vistate [ “ID”] = ID;
然后在那里检索它?
你是什么意思“可以被你的UserControl的用户关闭”? 你的意思是在他的网页上使用这个控件的开发者?如果是,他也可以从用户控件中删除ControlState ... – samuel 2009-10-28 22:14:16
无论谁在编写使用该控件的页面,都可以设置“EnableViewState”属性,该属性可以被禁用,而不是ControlState的情况, t财产将其关闭。 – 2009-10-28 22:28:45
我仍然不明白,用户不是访问我的网站的“最终用户”,使用的是在他的页面上使用此控件的开发人员。如果他打算将它用于财产,他为什么应该关闭视图状态? – samuel 2009-10-28 22:30:11