1

我正在使用 asp.net,我是新开发人员。我想避免viewstate在我的页面中使用。我有两个这样的内容占位符:

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

我可以用ContentplaceholderOR 做点什么吗?我该怎么做?

4

3 回答 3

3

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

  <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Masters/CliqueCityHomeMaster.master"
AutoEventWireup="true" CodeBehind="CliqueCityHome.aspx.cs" EnableViewState="false" Inherits="CliqueCityWeb._Default" %>
于 2013-08-29T11:11:19.187 回答
1

您可以通过设置

<system.web>
<pages enableViewState="false" />
//other stuff
</system.web>

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

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

有这个链接了解更多信息。http://msdn.microsoft.com/en-us/library/ms972976.aspx

于 2013-08-29T11:11:53.327 回答
0

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

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

protected override PageStatePersister PageStatePersister
{
    get
    {
        return new SessionPageStatePersister(this);
    }
}
于 2013-08-29T11:31:23.860 回答