如何在我的asp页面中避免查看状态

时间:2013-08-29 11:08:33

标签: asp.net

我使用的是asp.net,我是新开发者。我想避免在我的页面中使用viewstate。我有两个内容占位符,如下所示:

  <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
  </asp:Content >
  <asp:Content ID="Content1" ContentPlaceHolderID="BodyContent" runat="server">
  </asp:Content >

我可以对Contentplaceholder做点什么,或者我该怎么做?

3 个答案:

答案 0 :(得分:3)

您与ContentPlaceholder无关您只需要将ViewState定义为False,如下所示:

  <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Masters/CliqueCityHomeMaster.master"
AutoEventWireup="true" CodeBehind="CliqueCityHome.aspx.cs" EnableViewState="false" Inherits="CliqueCityWeb._Default" %>

答案 1 :(得分:1)

您可以通过设置

从网络配置中执行此操作
<system.web>
<pages enableViewState="false" />
//other stuff
</system.web>

这将关闭整个站点的视图状态。

对于特定页面,请在页面顶部的连线中使用EnableViewState =“false”

有此链接可获取有关此内容的更多信息.. http://msdn.microsoft.com/en-us/library/ms972976.aspx

答案 2 :(得分:0)

执行此操作的技巧是使用不同的PageStatePersister。 PageStatePersister是.Net框架中保存ViewState的基类。默认情况下,页面使用HiddenFieldPageStatePersister,这会将所有视图状态保存在页面上的隐藏字段中;或者,您可以使用SessionPageStatePersister,而不是将您的视图状态保存在服务器上的会话状态 - 这意味着它不会在每次往返客户端时传输。

要使用SessionPageStatePersister,您需要在页面代码中添加:

protected override PageStatePersister PageStatePersister
{
    get
    {
        return new SessionPageStatePersister(this);
    }
}