動(dòng)態(tài)修改asp.net頁(yè)面(非母版頁(yè))的title值,測(cè)試通過(guò)[很多方法]
以下方法在VS2008+ASP.NET3.5中測(cè)試通過(guò)
方法一:使用Page.DataBind()方法
先在.CS代碼文件里定義一個(gè)可以從外部訪問(wèn)的變量(protected或public),再綁定到該頁(yè),最后在ASPX文件的標(biāo)題里調(diào)用該變量。 比如: .cs代碼文件里; protected string str = "動(dòng)態(tài)標(biāo)題"; protected void Page_Load(object sender, EventArgs e) { Page.DataBind(); } .aspx代碼里: <title><%#str %></title>
這樣就可以了,你還可以在Page_Load修改定義的str,可以實(shí)現(xiàn)許多功能。
方法二:綁定變量改變頁(yè)面標(biāo)題
//首先:在頁(yè)面代碼中定義 public string PageTitle; 或protected string PageTitle; //再在Page_Load()方法中初始化; protected void Page_Load(object sender, EventArgs e) { PageTitle = "這是程序更改的標(biāo)題!"; } 或:public string PageTitle = "這是程序更改的標(biāo)題!";
最后:在前臺(tái)代碼(Asp.net)中加入<%=PageTitle %>或<% Response.Write(PageTitle); %>
如:<title><%=PageTitle %></title> 或:<title><% Response.Write(PageTitle); %></title>
注:但是不能定義為private string PageTitle。因?yàn)樗鼙Wo(hù)級(jí)別限制,不可訪問(wèn)。
方法三:直接用腳本改變頁(yè)面標(biāo)題(不喜歡此方法)
protected void Page_Load(object sender, EventArgs e) { //簡(jiǎn)單的這樣寫(xiě): //this.Response.Write("<script language=javascript>document.title='方法1:這是程序更改的標(biāo)題!'</script>"); string page_title = "這是程序更改的標(biāo)題!"; this.Response.Write("<script language=javascript>document.title='" + page_title + "'</script>"); }
方法四:利用服務(wù)器控件賦值改變頁(yè)面標(biāo)題
Literal控件:<title><asp:Literal ID="ltlTitle" runat="server"></asp:Literal></title> 然后在后臺(tái)代碼中賦值即可,如: protected void Page_Load(object sender, EventArgs e) { ltlTitle.Text = "這是通過(guò)程序更改的標(biāo)題!"; }
方法五:在前臺(tái)給<title>加id和runat=server,在后臺(tái)中通過(guò)代碼賦值
在前臺(tái)Asp.net中設(shè)置,如: <title id="mytitle" runat="server"></title> 然后在后臺(tái)代碼中賦值即可,如: protected void Page_Load(object sender, EventArgs e) { this.mytitle.Text = "這是通過(guò)程序更改的標(biāo)題!"; }
方法六:在前臺(tái)給title加上id,直接在后臺(tái)代碼中訪問(wèn)賦值
在前臺(tái)Asp.net中設(shè)置,如:<title id="MyTitle"></title> 在后臺(tái).cs代碼中: protected void Page_Load(object sender, EventArgs e) { Control htm_Con = Page.FindControl("MyTitle"); ((HtmlTitle)htm_Con).Text = "這是通過(guò)程序更改的標(biāo)題!"; }
|
|