解决webconfig中禁用掉ViewState造成服务器控件回传获取不到值问题
Posted Mr石昊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决webconfig中禁用掉ViewState造成服务器控件回传获取不到值问题相关的知识,希望对你有一定的参考价值。
前言:有些asp.net站点,为了避免ViewState生成的冗余代码,会选择在webconfig中禁用掉ViewState,如下
<configuration> <system.web> <compilation debug="true" targetFramework="4.7.2"/> <httpRuntime targetFramework="4.7.2"/> <pages clientIDMode="Static" enableViewState="false"></pages> </system.web>
那么,有些依赖ViewState回传的服务器控件,如CheckBoxList,页面提交会有获取不到值得情况,下面给出解决方法
情况1:如果依赖母版页,母版页要启用enableViewState
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="WebApplication11.Site1" EnableViewState="true" %>
子页面也要启用
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication11.WebForm2" EnableViewState="true" %>
情况2:子页面如果不依赖母版页,直接启用就可以获取服务器控件回传得值
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication11.WebForm1" EnableViewState="true" %>
以上是关于解决webconfig中禁用掉ViewState造成服务器控件回传获取不到值问题的主要内容,如果未能解决你的问题,请参考以下文章
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=&quo