仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 483|回复: 7
打印 上一主题 下一主题

[学习教程] 来一篇关于NET的Asp.Net之EnableViewState属性详解

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也不知道,我同学昨天说数据挖掘很好。EnableViewState属性的感化是唆使是不是在页哀求之间坚持视图形态。假如要坚持视图形态,则为true;不然为false。默许值为true。

假如我们未设置EnableViewState属性,那末默许情形下它的值为true.
这时候在终极天生的Page页中,.net会往主动天生的一个name=__VIEWSTATE的埋没控件中将哀求前的数据经加密后保留在这内里。偶然候,这会影响网页加载速率,由于它常常会天生很年夜一串加密字符。本章,我们具体剖析一下该属性,以便利在今后的开辟中匡助你决意是不是应当将该属性设置为false.

先做一个测试:
新建一个Page页,在aspx页中拖进一个ListBox控件与Button控件。以下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="WebApplication1._Default"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
</head>
<body>
<formid="form1"runat="server">
<asp:ListBoxID="list_box"runat="server"Width="200"></asp:ListBox>
<asp:ButtonID="Button1"runat="server"Text="Button"/>
</form>
</body>
</html>


背景代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;

namespaceWebApplication1
{
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{

}

protectedvoidButton1_Click(objectsender,EventArgse)
{
this.list_box.Items.Add(DateTime.Now.ToString());
}
}
}


我们会发明,每次点击一次Button按钮,list_box的Items汇合中就会增添一项。
假如我们将该页的EnableViewState设置为false
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="WebApplication1._Default"EnableViewState="false"%>


这时候候我们会发明,不论点击几次Button按钮,list_box的Items汇合中永久只要最新增加的一项。
这申明,我们设置了EnableViewState=false后,list_box不再保留之前静态增加的内容。

注重:在网上看到有些文章指出,当设置TextBox控件的EnableViewState=false,页面回发后TextBox控件不再显现用户在回发前输出的数据。实在该说法是毛病的,即便设置了EnableViewState=false,TextBox控件也会在回发后显现用户之前输出的数据。

总结:
EnableViewState指定在回发时是不是保留服务器控件的的静态属性与值。
EnableViewState的默许值为true,设置为false能够下降数据的传送量,我们应当在同意的情形下将该属性设置为false。

关于EnableViewState的设置按次,请参考本站EnableViewState的设置地位及优先级Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-18 13:55:57 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
小妖女 该用户已被删除
板凳
发表于 2015-1-25 20:33:40 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
山那边是海 该用户已被删除
地板
发表于 2015-2-4 02:26:17 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
老尸 该用户已被删除
5#
发表于 2015-2-9 11:08:24 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
若天明 该用户已被删除
6#
发表于 2015-3-8 23:15:58 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
小女巫 该用户已被删除
7#
发表于 2015-3-16 19:17:52 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
分手快乐 该用户已被删除
8#
发表于 2015-3-23 02:28:12 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-20 01:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表