我们即将开始重建我们的一个ASP.NET项目,我想在没有打开viestate的情况下尝试开发它(在web.config中禁用)。

我知道viewstate的优点和缺点,并且总体上讲它与控制状态相比所记录的内容,但我想知道:

  1. 开发过程的主要区别是什么?即你如何以不同的方式构建Page_Load等?

  2. 标准ASP.NET控件中是否有任何功能在没有打开viewstate的情况下才能正常工作?

  3. 此外,是否有关于使用和不使用VS的工作流程差异的详细文章?

有帮助吗?

解决方案

TextBoxes和DropDownLists等大多数控件在没有viewstate的情况下运行良好。

我不知道任何开发过程问题,除了通过代码创建或修改的任何控件或属性在没有viewstate的情况下不会持久存在,因此您必须在回发时重新创建/修改它们。

我有一些非常大的页面和大型视图状态。我做了一个实验来禁用整个项目的viewstate,并发现(起初)没有明显的功能损失。然后在测试中出现了一些小问题,所以我们恢复了它。但我们的300页网页应用可能99%没有viewstate功能。我们遇到的问题主要围绕数据网格 - 主要是分页,动态创建的控件和其他被代码修改的东西,因此没有视图状态就不会持久存在。

这是关于Viewstate的非常好的文章:

http://msdn.microsoft.com/en-us/library /ms972976.aspx

其他提示

如果您反对viewstate - 为什么不尝试使用MVC框架?这可能是一个更容易的调整。

我在我的项目中禁用了viewstate。我使用分散/聚集方法来填充和从我的数据访问对象中获取aspx页面中的值。它比使用viewstate更清晰,更简单。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top