技术开发 频道

详细解析ASP.NET 4.0的23项全新功能

  19.Generating Client IDs:

  web控件的客户端ID是根据父控件ID动态的产生。 所以,如果你在一个用户控件中使用textbox,我们必须查看为它生产什么样ID,才能在客户端的脚本中直接使用。

  有时这些是动态的改变用户控件的名称也更改它的子控件ID。在asp.net 4.0中,这个问题是可以由页面的ClientIDMode属性解决。它有如下可能的值:AutoID , Static, Predictable 和Inherit。

  AutoID: 是webpage 的默认值,功能和以前 ASP.NET的版本一样。

  Static: 为控件设置一个静态的ID,所以我们不需要当心父控件的ID,我们也能使用javascript引用它。

  例如一个用户控件里面的 textbox ,它外面胡一个ClientIDMode 设置为static

<asp:TextBox ID="textbox1" runat="server" clientIDMode="Static"></asp:TextBox>
<uc1:WebUserControl ID="WebUserControl1" runat="server" />

  这个用户控件包含了textbox2

<asp:TextBox ID="TextBox2" ClientIDMode="Static" runat="server"></asp:TextBox>

  这个代码将产生下面的HTML:

<input name="ctl00$MainContent$textbox1" type="text" id="textbox1" />
<input name="ctl00$MainContent$WebUserControl1$TextBox2" type="text" id="TextBox2" />

  如果我们移除ClientIDMode="static" ,输出胡HTML将会是:

<input name="ctl00$MainContent$textbox1" type="text" id="MainContent_textbox1" />

  它将产生象以前asp.net版本的textbox的ID

  Predictable: 如果gridview 或者listview控件中我们设置ClientIDMode的值为Predictable ,它将会串连控件ID和Gridview的ID ,column的值在ClientIDRowSuffiex 属性上提到:

Gridview ID ="GridView1"
ClientIDMode
="Predictable"
ClientIDRowSuffix
="ItemID"

 

  如果在gridview的模板列中的有一个ID为 Label1的label控件 ,它被绑定在ItemID 列上。

  它的ID将会是: ID= GridView1_Label1_200。

  如果我们用数据绑定控件之外使用web控件,设置ClientIDMode等于Predictable:

<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Predictable"></asp:TextBox>

<asp:Panel ID="panel1" runat="server">

<asp:TextBox ID="TextBox2" runat="server" ClientIDMode="Predictable"></asp:TextBox>

</asp:Panel>

 

  你可以看到webcontrols在一个面板输出和另外一个再面板以外输出。

<input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" />

<div id="MainContent_panel1">

<input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" />

</div>

 

  它将产生所有web控件的ID,是panel的页面的ID加上子控件的ID。

  Inherit: WEB控件默认是继承父容器的ID。 控件能覆盖它父控件的属性。所以我能为ClientModeID设置不同的值。

  20.Permanent Redirect :

  在有些情况下,如果当前页面已经过时,我们希望将用户重定向到新开发的网页。 我们可以使用Response.Redirect转移页到新的页面。但是,在这种情况下,搜索引擎保存搜索索引的网页的旧信息。 另外,如果用户浏览到这个网页,他将被重定向到这个网页,然后用命令的response.redriect帮助新打开的一页。

  但在ASP.NET 4.0中一个新的命令Response.RedirectPermanent可用于更改服务器页上的头信息。因此,如果用户去为他直接重定向到新的一页,并为他节省了双行页面。在该网站和网页更新的发现头和更新其索引信息,展示最新的信息重新搜索索引同样的搜索引擎。

0
相关文章