- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试清理一个旧的 ASP.NET WebForms 站点,该站点到处都启用了 ViewState。这是一个性能问题 - 巨大的 View 状态会导致明显的提交延迟。但除了一些复杂的控件和表单数据之外,大多数表单似乎并不真正需要 ViewState。不过,即使没有输入控件的表单也会生成大的 View 状态,因为我猜 ASP.NET 正在存储有关每个服务器控件的各种元数据。但是可见性状态等都是在代码中控制的,所以我认为我可以消除很多。
添加EnableViewState="false"
是相当繁重的对于不需要它的每个控件(在页面中并在代码中创建),因此我尝试在页面/控件级别禁用它,并有选择地为需要它的东西启用它。 (是的,我意识到这是有风险的,但实际上只有几个大表单和几个模板,如果解决的话将会产生很大的不同)。
这是我不太明白的。
如果控件或页面有 EnableViewState="false"
它是<%.. %>
描述符中,或者在父页面中创建它的标记中,一切都会中断,因为在代码中添加的任何 ViewState 数据都不起作用。所以我似乎可以在控制级别启用它,但设置 EnableViewState
将每个容器中的包装控件设置为 false,然后设置 ViewStateMode=true
(它覆盖了)在每个控件级别。
我没有得到的是以下情况时发生的情况:
ViewStateMode = ViewStateMode.Enabled
和 EnableViewState = false
对于包含其他控件的控件。
用于控件。仍然可以使用 ViewStateMode
启用内部控件吗? ?基本上,当它们发生冲突时,哪个设置有最终决定权?
对于每个容器,我希望能够禁用包装器控件中的所有内容,但仍确保:
1) 代码工作中的 ViewState 设置,以及
2) 默认情况下对所有控件禁用 ViewState,并且
3) 我可以有选择地为子控件启用 ViewState。
这似乎令人困惑。如果我在母版页中有一个包装控件设置为 EnableViewState="false"
,然后将子控件设置为 ViewStateMode="Enabled"
,它破裂了。根据 MS 的说法,ViewStateMode 应该取代任何外部 ViewState 设置,但它似乎不起作用。
最佳答案
根据 MSDN article on ViewStateMode ,ViewStateMode
仅在EnableViewState="true"
时才有意义。要实现您想要的效果,您必须在控件上保留 ViewStateMode="Enabled"
,然后将主控件的子控件包装在 asp:Placeholder
中> 具有 ViewStateMode="Disabled"
。这样,您仍然可以在代码隐藏中操作 ViewState,但任何子控件都不会具有 ViewState(除了您通过 ViewStateMode="Enabled"
显式设置为具有 ViewState 的子控件)。
关于asp.net - 最小化 View 状态 - 在 asp.net 4.0 中被 `EnableViewState` 和 `ViewStateMode` 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485850/
有什么区别: ViewStateMode:禁用/启用/继承 EnableViewState:真/假 它在 asp.net 控件的属性中。 感谢您的解释。 最佳答案 编辑 View 状态模式 启用 -
我有一个 ASP.NET 4.0 网络表单站点,其中有 MasterPage,因此它设置为 ViewStateMode="Disabled"以及类似设置的内容占位符。 当我查看我的页面时,我仍然会看到
我还没有开始学习Asp.Net 4.0,但我确实在ViewState上读了一点,那里有一个新的属性ViewStateMode。在早期版本的 Asp.Net 中,如果父控件禁用了其 ViewState,
我在 aspx 页面中使用 asp.net 和此代码: public partial class Default : System.Web.UI.Page { string _Name;
我正在尝试清理一个旧的 ASP.NET WebForms 站点,该站点到处都启用了 ViewState。这是一个性能问题 - 巨大的 View 状态会导致明显的提交延迟。但除了一些复杂的控件和表单数据
我是一名优秀的程序员,十分优秀!