以下方法在VS2008+ASP.NET3.5中测试通过 方法一:使用Page.DataBind()方法 先在.CS代码文件里定义一个可以从外部访问的变量(protected或public),再绑定到该页,最后在ASPX文件的标题里调用该变量。 比如: .cs代码文件里; protected string str = "动态标题"; protected void Page_Load(object sender, EventArgs e) { Page.DataBind(); } .aspx代码里: <title><%#str %></title> 这样就可以了,你还可以在Page_Load修改定义的str,可以实现许多功能。 方法二:绑定变量改变页面标题 //首先:在页面代码中定义 public string PageTitle; 或protected string PageTitle; //再在Page_Load()方法中初始化; protected void Page_Load(object sender, EventArgs e) { PageTitle = "这是程序更改的标题!"; } 或:public string PageTitle = "这是程序更改的标题!"; 最后:在前台代码(Asp.net)中加入<%=PageTitle %>或<% Response.Write(PageTitle); %> 如:<title><%=PageTitle %></title> 或:<title><% Response.Write(PageTitle); %></title> 注:但是不能定义为private string PageTitle。因为它受保护级别限制,不可访问。 方法三:直接用脚本改变页面标题(不喜欢此方法) protected void Page_Load(object sender, EventArgs e) { //简单的这样写: //this.Response.Write("<script language=javascript>document.title='方法1:这是程序更改的标题!'</script>"); string page_title = "这是程序更改的标题!"; this.Response.Write("<script language=javascript>document.title='" + page_title + "'</script>"); } 方法四:利用服务器控件赋值改变页面标题 Literal控件:<title><asp:Literal ID="ltlTitle" runat="server"></asp:Literal></title> 然后在后台代码中赋值即可,如: protected void Page_Load(object sender, EventArgs e) { ltlTitle.Text = "这是通过程序更改的标题!"; } 方法五:在前台给<title>加id和runat=server,在后台中通过代码赋值 在前台Asp.net中设置,如: <title id="mytitle" runat="server"></title> 然后在后台代码中赋值即可,如: protected void Page_Load(object sender, EventArgs e) { this.mytitle.Text = "这是通过程序更改的标题!"; } 方法六:在前台给title加上id,直接在后台代码中访问赋值 在前台Asp.net中设置,如:<title id="MyTitle"></title> 在后台.cs代码中: protected void Page_Load(object sender, EventArgs e) { Control htm_Con = Page.FindControl("MyTitle"); ((HtmlTitle)htm_Con).Text = "这是通过程序更改的标题!"; } |
联系客服