【发布时间】:2018-04-09 09:20:11
【问题描述】:
我有一个使用 VS2017 创建的网站 - 它基于 Asp.Net 4.7。
我的所有页面都继承自主母版页 - 它包括我不想重复的所有标题内容。
我的大部分页面都不需要视图状态,但特别是一页。
理想情况下,我希望启用视图状态作为例外,但我发现它很难实现。
首先,我在 web.config 中禁用了视图状态。
然后我尝试在 web.config(使用位置)和 aspx 页面本身上重新启用页面的视图状态。都失败了。
我读过一些文章暗示这种行为可能归结为使用母版页,这似乎与我进行的测试得到了证实。
如果是这样的话,我有两个相当麻烦的选择:
- 禁用每个页面的视图状态;
- 删除对母版页的依赖并“复制所有内容” 在需要 viewstate 的页面中。
但是,我可能遗漏了什么,或者误解了我已经阅读的内容。
所以,在走这些路线之前,如果有人能建议是否有任何其他解决方案可以解决这个问题,我将不胜感激。
提前致谢。
【问题讨论】:
-
您的问题到底是什么?您可以在每个级别启用/禁用 ViewState。 Master、Page、Control 等,并且继承自上一层。
-
如果 viewstate 在 web.config 级别被禁用,它不允许在 aspx 页面中或通过在 web.config 中添加位置覆盖来重新启用。这就是我在使用母版页的场景中发现的 - 已经过测试。