asp.net – 如何决定在viewstate中存储什么?
我一直在编写一堆通用的ASP.NET控件,而我似乎无法理解的一件事是什么时候在viewstate中存储值,何时假设它不行.
一方面,在viewstate中存储控件的整个状态是有意义的,包括如下属性: >用户输入的文本框值(或任何表单数据) 忽略性能,你在视图状态中推得越多越好,因为这意味着控件在回发中的行为完全相同,并且从不“意外地”还原值或“忘记”它被禁用.但观点不是免费的.存储一切意味着控件现在将输出HTML及其所有内部属性来创建HTML,这几乎总是使输出翻倍. 我的问题不是关于绩效,而是关于战略.我决定以什么标准将房产置于视域状态?我正在思考这些问题:
这个逻辑意味着应该进入viewstate的唯一属性是: >表单元素如< input> (以及Request.Form [c.UniqueID]这仍然可以避免) 这个逻辑有意义吗?它似乎很弱,我想听听专家的更多信息. 解决方法
将ViewState用于控件无法工作的内容.
即使禁用了ViewState,也要将ControlState用于控件工作所需的内容. 首次请求页面时,初始值和控件层次结构(甚至是html控件)将编译到临时ASP.NET文件中.因此,当它们永远不会被更改时,它们不需要存储在任何地方(甚至ViewState也不会保存它们). 控件仅存储ViewState中的属性,这些属性在页面的生命周期中已更改(自TrackViewState以来).状态改变的控件是“脏”的.例如,如果在page_load中更改TextBox1.Text,则 看here和here.(我真的建议阅读这两篇文章) Control State vs. View State Example (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC 5中的Actionfilter注入
- asp.net-mvc-2 – 为MVC2 AsyncControllers构建单元测试
- asp.net – 关闭Application Insights
- asp.net-mvc-2 – 我的MVC2应用程序可以在查询字符串参数上
- asp.net-mvc-5 – MVC5 RadioButtonFor模型属性未正确绑定
- asp.net – 从WebMethod访问函数背后的代码
- asp.net – 与Silverlight 5的串行通信(COM端口)
- asp.net – scriptresource.axd 404错误在asp net 4应用程序
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录两次错误
- 在ASP.NET Identity 2.0.0-beta1中禁用双因素身份验证
- asp.net-mvc-3 – 从ASP .NET MVC3调用WCF服务的
- asp.net-mvc – 解散并提交表单Bootstrap 3
- 是否可以在.NET中将WinForm转换为WebForm?
- asp.net – Silverlight调试期间的Web服务超时
- Azure上的Asp.Net Core 2.0产生了502.5
- asp.net – 在jQuery对话框中的窗体中,MVC中通常
- JS_单个或多个文件上传_不支持单独修改
- asp.net-mvc – ViewModel应该位于ASP.NET MVC应
- asp.net-mvc – 如何将MVC路由添加到特定控制器?
- asp.net-mvc – Moq Roles.AddUserToRole测试