ASP.NET 4.0引入的视图状态属性ViewStateMode与原EnableViewState的区别
来源:互联网 发布:mac迅雷下载速度0 编辑:程序博客网 时间:2024/05/19 14:53
ASP.NET还在继续完善WebForm中的视图状态管理。例如,ASP.NET 4.0引入了控件视图状态属性ViewStateMode,该属性可以取值Disabled、Enabled或Inherit。那么,该属性与原来的视图状态属性EnableViewState有何区别呢?
- EnableViewState可以在UI控件(即asp:类型的控件)和服务器html元素(即html元素带runat="server"属性)中使用,ViewStateMode只能在UI控件中使用。
- 如果是单一控件中设置这两个视图状态属性的值,则Disabled或false表示关闭视图状态。
- 如果在父控件(例如Page)设置了EnableViewState="false",则该控件所有的子控件的视图状态将被关闭,不论使用EnableViewState还是ViewStateMode;如果设置父控件的EnableViewState="true"(或默认),那么子控件可以使用EnableViewState或ViewStateMode继承或关闭视图状态。
- 如果在父控件(例如Page)设置了ViewStateMode="Disabled",在该控件的子控件中不能使用EnableViewState="true"启用视图状态,但可以使用ViewStateMode="Enabled"启用;如果在父控件(例如Page)设置了ViewStateMode="true",则子控件可以使用EnableViewState或ViewStateMode关闭视图状态。
总之,在ASP.NET 4.0及之后的版本中,可以使用ViewStateMode独立设置一个控件的视图状态,而不需要考虑其父控件的视图状态。显然,该属性弥补了EnableViewState在父控件关闭视图状态后子控件的视图状态设置不灵活的问题。因此,在4.0之后,一般使用ViewStateMode代替EnableViewState。
以下是测试用的网页代码(ASPX部分)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ViewState.aspx.cs" Inherits="Controls.ViewState" ViewStateMode="Enabled" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Label" EnableViewState="false"></asp:Label> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form></body></html>以下是测试用的代码隐藏类代码(ASPX.CS部分)。
using System;namespace Controls{ public partial class ViewState : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) // 首次加载时将显示时间 { Label1.Text = DateTime.Now.ToString(); } } }}测试时,第一次加载网页时将显示时间。点击按钮,如果启用了Label的视图状态,则仍然显示时间;如果关闭了Label的视图状态,则不会显示内容。
0 0
- ASP.NET 4.0引入的视图状态属性ViewStateMode与原EnableViewState的区别
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ASP.Net中控件的EnableViewState属性
- ViewStateMode與EnableViewState的差別(转)
- ASP.Net中控件的EnableViewState属性 【转】
- ASP.Net中控件的EnableViewState属性 【转载】
- 第十五届全国青少年信息学奥林匹克联赛初赛试题
- 线性表之单链表
- Lucene3.0之结果排序(原理篇)
- writing .NET applications, which language to use?
- ios 抓包工具 ios青花瓷charles
- ASP.NET 4.0引入的视图状态属性ViewStateMode与原EnableViewState的区别
- R2D2 and Droid Army(多棵线段树)
- 开源项目Egg简介
- Java自定义泛型类和泛型方法
- 九度OJ 题目1087:约数的个数
- 首款企业应急响应中心开发框架 – SRCMS·轻响应
- 配置hadoop伪分布式继续
- KVC和KVO
- 核心动画——基础动画