我使用的是asp.net,我是新开发者。我想避免在我的页面中使用viewstate
。我有两个内容占位符,如下所示:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content >
<asp:Content ID="Content1" ContentPlaceHolderID="BodyContent" runat="server">
</asp:Content >
我可以对Contentplaceholder
做点什么,或者我该怎么做?
答案 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);
}
}