这将重写已经在页面中存在的元标记内容(如果存在的话)。
Description元标记内容用于改善Google搜索列表预览。Google和Windows Live Search都没有使用这些关键字内容来描述一定的内容,但其他搜索引擎却有可能。有关详情,请参考“元关键字搜索引擎指南”网站。
这些新属性都是一些简单的功能,但它们却避免了你手动添加这些内容或通过编写您自己的代码来创建元标记的麻烦。
二、针对个体控件支持视图状态
默认情况下,页面是启用视图状态的,这将导致页面上每个控件潜在地存储视图状态—即使应用程序中并不需要。视图状态数据包含在页面的HTML标记中,从而增加了把页面发送到客户端和回寄的时间。存储不需要的过多的视图状态有可能造成重大的系统性能退化。在ASP.NET早期版本中,为了减少页面大小,开发者可以针对单个控件禁用视图状态,但不得不针对个别的控件显式地这样操作。在ASP.NET 4中,Web服务器控件包括了一个ViewStateMode属性,默认情况下禁用视图状态,然后只为在页面需要视图状态的控件才启用它。
ViewStateMode属性将使用具有三个值的枚举:Enabled,Disabled和Inherit。Enabled对于指定的控件或设置为Inherit的子控件或没有作任何设置的控件启用视图状态。Disabled将禁用视图状态,而Inherit指定控件将使用从父控件中的ViewStateMode设置。
下面的简单示例显示了ViewStateMode属性如何工作的。注意到,下列页面中的控件标记中包括了一个ViewStateMode值:
<form id="form1" runat="server">
<script runat="server">
protected override void OnLoad(EventArgs e) {
if (!IsPostBack) {
label1.Text = label2.Text = "[DynamicValue]";
}
base.OnLoad(e);
}
</script>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" ViewStateMode="Disabled">
Disabled: <asp:Label ID="label1" runat="server" Text="[DeclaredValue]" /><br />
<asp:PlaceHolder ID="PlaceHolder2" runat="server" ViewStateMode="Enabled">
Enabled: <asp:Label ID="label2" runat="server" Text="[DeclaredValue]" />
</asp:PlaceHolder>
</asp:PlaceHolder>
<hr />
<asp:button ID="Button1" runat="server" Text="Postback" />
<%-- Further markup here --%>
<script runat="server">
protected override void OnLoad(EventArgs e) {
if (!IsPostBack) {
label1.Text = label2.Text = "[DynamicValue]";
}
base.OnLoad(e);
}
</script>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" ViewStateMode="Disabled">
Disabled: <asp:Label ID="label1" runat="server" Text="[DeclaredValue]" /><br />
<asp:PlaceHolder ID="PlaceHolder2" runat="server" ViewStateMode="Enabled">
Enabled: <asp:Label ID="label2" runat="server" Text="[DeclaredValue]" />
</asp:PlaceHolder>
</asp:PlaceHolder>
<hr />
<asp:button ID="Button1" runat="server" Text="Postback" />
<%-- Further markup here --%>