禁用特定控件上的视图状态

时间:2011-06-19 14:29:50

标签: asp.net viewstate

我即将部署我的网站,但在运行一些测试之后,我可以看到每个页面上的视图状态太大,并且导致一个服务器进程占用大量内存。

我想在我可以禁用它的控件上禁用viewstate,EnableViewState="false",但在我在控件上添加它之前,我对我可以禁用它的哪些控件感到困惑。

有人能告诉我控件可以拥有哪些条件,其视图状态是否已禁用?

一个例子:

<a id="A5" href="~/" runat="server">
    <img src="~/images/logo.png" runat="server" />
</a>

我应该在这两个控件上禁用viewstate吗?它们永远不会改变,实质上是静态资源。

1 个答案:

答案 0 :(得分:2)

是的,您可以安全地在图像和链接等控件上禁用它。

我会从顶级城镇开始,即在页面级别。通常,当我在网站上完成工作后,我将首先在页面级别禁用所有仅限内容的页面上的ViewState。

然后,我将查看工作表单/应用页面并在本地禁用链接/图像控件。任何不需要在回发中保持其状态的东西都是候选者。 GridViews是常见的违规者WRT ViewState大小,我通常倾向于自己使用ListViews。我特别避免在网格中嵌套任何控件 - 从我开始设计UI的那一刻起,我就牢记这一点。

相关问题