|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。VisualStudio2010Beta1和.NETFrameworkBeta1已公布有一段工夫了,我也早就该写这篇文章了。ASP.NET4.0改善了很多分歧的场景集(setofscenarios),如Webforms,DynamicData和基于AJAX的Web开辟。别的另有很多对支持ASP.NET的中心运转时情况的改善,好比Caching,Session,另有Request/Response工具。在这篇文章里,我们将一同查验一下对webform的一些改善。如许的改善良多,我们还将在随后的文章里体验更多这类改善。
利用ViewStateMode属性把持ViewState-功能的加强
在ASP.NETWebform里最为人所诟病的偏差之一就是不休增加的viewstate影响到功能。只管之前就能够把EnableViewState属性设为true或false,以后,以是有的controls都默许承继,而且即便你在control层把它设为启用,也仍是会发生纷歧致的举动。
在ASP.NET4.0中,ViewStateMode属性有助于断定每一个control的Viewstate是不是应启用,禁用或被承继。比方:
<ASP:PanelID="pnlViewState"runat="server"ViewStateMode="Disabled">
Disabled:<asp:LabelID="label1"runat="server"Text="Valuesetinmarkup"ViewStateMode="Inherit"/><br/>
Enabled:<asp:LabelID="label2"runat="server"Text="Valuesetinmarkup"ViewStateMode="Enabled"/>
<hr/>
<asp:buttonID="Button1"runat="server"Text="Postback"/>
</asp:Panel>
后端代码
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
label1.Text="Valuesetincodebehind";
label2.Text="Valuesetincodebehind";
}
}
运转这个页面,你会发明两个标签的初值都被设为了"Valuesetincodebehind",而点击按钮(postback)后,label1的值酿成了“Valuesetinmarkup”,label2的值则坚持稳定。正如你所看到的那样,保留这两个标签的面板把ViewStateMode设置为禁用,label1承继了这一设置(假如没有指定的话这是默许值),label2则设为了启用。这就是为何label2坚持了viewstate而label1丧失了。
固然能够说之前就能够利用烦琐的EnableViewState属性,但一向就不不乱。想一想我们在年夜多半功能会商会(performancesession)上,城市说假如viewstate不克不及一般运作就先禁用它然后再在control层设为启动,这个ViewStateMode的引进能够说是有助提拔功能的一个很好的布局性变化(architecturalchange)。
网页的MetaKeyword和Description-seo功效
在VisualStudio2008中,能够经由过程间接声明或在程序中利用Page.Title设置网页的题目。跟着愈来愈多的流量经由过程搜刮引擎,网页的题目,关头字和形貌变得更加主要了。固然因为关头字被人滥用招致很多搜刮引擎已对此疏忽不计,可是,页面的形貌仍是Google,Bing这些支流搜刮引擎赖以判别和索引网页内容的根据。
ASP.NET中的新功效4.0同意用户像上面如许经由过程编程的体例设置页面形貌和关头词:-
protectedvoidPage_Load(objectsender,EventArgse)
{
this.Page.Title="MyASP.NETBlog";
this.Page.MetaKeywords="ASP.NET,WebDevelopment,Blog,ASP.NETBlog";
this.Page.MetaDescription="ThisBlogcontainspostsrelatedtoASP.NETandWebDevelopment";
}
以上代码会发生以下标志:
<metaname="keywords"content="ASP.NET,WebDevelopment,Blog,ASP.NETBlog"/>
<metaname="description"content="ThisBlogcontainspostsrelatedtoASP.NETandWebDevelopment"/>
它的运作机制是,假如meta标签已呈现在HTML标签里,那末只需name属性不异,程序中设定的内容就城市被填写到content里。
固然这看起来很复杂,可是在要依据某些前提或尺度来静态设置它们的情形下,这就很有效了。今朝,这些内容都是在HTML代码里静态地设定的。如今,有了Page类这一级的会见,它们就能够静态地设置了。
对Webforms另有很多别的的改善,好比Routing的加强,ClientID的设置等,我们将在前面的文章里逐一详解。
让我们喝彩吧!
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了? |
|