动态修改asp.net页面(非母版页)的title值

来源:互联网 发布:C语言输入字符串 编辑:程序博客网 时间:2024/05/20 13:07
方法一:使用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 = "这是通过程序更改的标题!";