您的位置:首页 > 编程语言 > ASP

Asp.Net怎样动态获取网页标题

2010-07-01 11:41 363 查看
本人从网上搜集的,希望对大家有用!

方法1:直接用脚本改变页面标题

protected void Page_Load(object sender, EventArgs e)
...{
//简单的这样写:
//this.Response.Write("<script language=javascript>document.title='方法1:这是程序更改的标题!'</script>");
string page_title = "方法1:这是程序更改的标题!";
this.Response.Write("<script language=javascript>document.title='" + page_title + "'</script>");
}
方法2:绑定变量改变页面标题

//首先:在页面代码中定义
public string PageTitle; 或protected string PageTitle;
//再在Page_Load()方法中初始化;
protected void Page_Load(object sender, EventArgs e)
...{
PageTitle = "方法2:这是程序更改的标题!";
}
或:public string PageTitle = "方法2:这是程序更改的标题!";

最后:在前台代码(Asp.net)中加入<%=PageTitle %>或<% Response.Write(PageTitle); %>

如:<title><%=PageTitle %></title>
或:<title><% Response.Write(PageTitle); %></title>

注:但是不能定义为private string PageTitle。因为它受保护级别限制,不可访问。

方法3:利用服务器控件赋值改变页面标题

Literal控件:<title><asp:Literal ID="Literal1" runat="server"></asp:Literal></title>
然后在后台代码中赋值即可,如:

protected void Page_Load(object sender, EventArgs e)
...{
Literal1.Text = "方法3:这是程序更改的标题!";
}
说明:网上有些说用Label也可以,如
<title><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></title>,但是我测试不成功。

在<title></title>中见插入Label后,IE浏览器解释出来是:
<title><span id="Label1">方法3:这是程序更改的标题!!!!</span></title>

最后显示在标题栏的文字是:<span id="Label1">这是程序更改的标题!!!!</span>但是:我们可以利用好多服务器空间的Visible属性,将其设置为false,不要放在<title></title>中间。然后在后台代码中为其赋值,在前台中通过:<title><%=Label1.Text %></title>
或:<title><% Response.Write(Label1.Text); %></title>设置页面标题。

方法4:直接勇Response.Write()方法输出
这个方法更直接更明了,也可以将<title></title>之间的字符定义为变量,给变量赋值再构在输出字符串。

protected void Page_Load(object sender, EventArgs e)
...{
Response.Write("<title>方法4:这是程序更改的标题!</title>");
}
方法5:在前台给<title>加ID、加Runat=server,在后台中通过代码赋值

在前台Asp.net中设置,
如:<title id="htmTitle" runat="server"></title>
在后台.cs中对htmTitle的Text赋值,
如:

protected void Page_Load(object sender, EventArgs e)
...{
htmTitle.Text = "方法5:这是程序更改的标题!";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: