-

- 加为好友
- 发送私信
- 在线聊天
|
| 发表于:2008-11-19 13:04:3218楼 得分:0 |
重写LoadViewState,SaveViewState,TrackViewState这三个方法,我上面不是告诉你了吗,要自定义状态视图. 也给你参考文章了. - C# code
protected override void LoadViewState(object savedState)
{
if (savedState == null)
{
base.LoadViewState(null);
return;
}
else
{
Triplet t = savedState as Triplet;
if (t != null)
{
base.LoadViewState(baseState);
if ((t.Second) != null)
{
((IStateManager)ButtonStyle).LoadViewState(buttonStyleState);
}
if ((t.Third) != null)
{
((IStateManager)TextBoxStyle).LoadViewState(textBoxStyleState);
}
if (labelStyleState != null)
{
((IStateManager)(_labelStyle)).LoadViewState(labelStyleState);
}
}
else
{
throw new ArgumentException("Invalid view state .");
}
}
}
protected override object SaveViewState()
{
baseState = base.SaveViewState();
buttonStyleState = null;
textBoxStyleState = null;
labelStyleState = null;
if (_buttonStyle != null)
{
buttonStyleState =
((IStateManager)_buttonStyle).SaveViewState();
}
if (_textBoxStyle != null)
{
textBoxStyleState =
((IStateManager)_textBoxStyle).SaveViewState();
}
if (_labelStyle != null)
{
labelStyleState = ((IStateManager)_labelStyle).SaveViewState();
}
return new Triplet(baseState,
buttonStyleState, textBoxStyleState);
}
protected override void TrackViewState()
{
base.TrackViewState();
if (_buttonStyle != null)
{
((IStateManager)_buttonStyle).TrackViewState();
}
if (_textBoxStyle != null)
{
((IStateManager)_textBoxStyle).TrackViewState();
}
if (_labelStyle != null)
{
((IStateManager)_labelStyle).TrackViewState();
}
}
| | |
修改
删除
举报
引用
回复
| |