关于视图状态管理的问题,高级开发人员进~

amingo 2010-02-06 06:58:10
public Items Items
{
get
{
if (_itms == null)
{
_itms = new Items();
if (IsTrackingViewState)
((IStateManager)_itms).TrackViewState();

}
return _itms;
}
}

请问标红的那两句,起什么作用,有何意义?
...全文
164 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenshidan 2010-02-09
  • 打赏
  • 举报
回复
引用 13 楼 amingo 的回复:
引用 12 楼 chenshidan 的回复:
Control.IsTrackingViewState:获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。这个属性不能设置的,表示控件值是否保存到ViewState中,官方文档中有:http://msdn.microsoft.com/library/system.web.ui.control.istrackingviewstate.aspx,自己查就行了,有什么好问的
那我请问你,这个论坛是不是该关了?

如果状态不能设置,那这个状态通过什么来改变?你知道?

控件的视图状态是跟着控件走的,不是能手工干预的,当IsTrackingViewState为true时控件的属性变化时视图状态会跟着控件的变化而变,如果IsTrackingViewState为false,则调用TrackViewState()跟踪改变,不调用则不变,状态变更的触发方式是不一样的,所以需要判断IsTrackingViewState
amingo 2010-02-09
  • 打赏
  • 举报
回复
引用 16 楼 hdt 的回复:
他是个属性,有asp.net 框架设置

你不如说WINDOWS设置
真相重于对错 2010-02-09
  • 打赏
  • 举报
回复
他是个属性,有asp.net 框架设置
amingo 2010-02-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 chenshidan 的回复:]
Control.IsTrackingViewState:获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。这个属性不能设置的,表示控件值是否保存到ViewState中,官方文档中有:http://msdn.microsoft.com/library/system.web.ui.control.istrackingviewstate.aspx,自己查就行了,有什么好问的
[/Quote]
那我请问你,这个论坛是不是该关了?

如果状态不能设置,那这个状态通过什么来改变?你知道?
amingo 2010-02-08
  • 打赏
  • 举报
回复

回复内容太短了!
amingo 2010-02-08
  • 打赏
  • 举报
回复

回复内容太短了!
amingo 2010-02-07
  • 打赏
  • 举报
回复
sp1234
IsTrackingViewState表示什么,什么地方可以设置IsTrackingViewState的状态?
chenshidan 2010-02-07
  • 打赏
  • 举报
回复
Control.IsTrackingViewState:获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。这个属性不能设置的,表示控件值是否保存到ViewState中,官方文档中有:http://msdn.microsoft.com/library/system.web.ui.control.istrackingviewstate.aspx,自己查就行了,有什么好问的
amingo 2010-02-07
  • 打赏
  • 举报
回复
sp1234
IsTrackingViewState表示什么,什么地方可以设置IsTrackingViewState的状态?
amingo 2010-02-06
  • 打赏
  • 举报
回复
sp1234
IsTrackingViewState表示什么,什么地方可以设置IsTrackingViewState的状态?
bychgh 2010-02-06
  • 打赏
  • 举报
回复
帮顶
  • 打赏
  • 举报
回复
StateBag有个特性就是可以收集其内容是否Dirty。这个属性可以在Page准备输出html之前指挥去重建ViewState。

但是,在Page初始化阶段,所有对象的默认StateBag都是空的,它需要从外部(通常是Request里边)来设置ViewState。这个初始化阶段不能标记Dirty。因此TrackViewState就是标记一个初始化是否完成标记,来控制是否在内容修改时需要自动改变Dirty状态。
ssy888 2010-02-06
  • 打赏
  • 举报
回复
点右键, go to declaration去看那方法就清楚了。。
amingo 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hdt 的回复:]
search   msdn

[/Quote]

那这个论坛 可以不要了。
真相重于对错 2010-02-06
  • 打赏
  • 举报
回复
search msdn
MicroSoftor 2010-02-06
  • 打赏
  • 举报
回复
跟踪控件的视图状态。
ASP.NET页面在往返的时候都要比对这个视图状态,才知道是哪个控件动了哪里。
代码是判断页面或控件是否打开了控件的视图状态记录,如果打开了,那么就跟踪它。一般来说Page有个属性开关可以打开这个。
amingo 2010-02-06
  • 打赏
  • 举报
回复
amingo 2010-02-06
  • 打赏
  • 举报
回复

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧