将.aspx页面标题设置为Eval的页面标题

时间:2012-11-28 16:39:44

标签: asp.net .net

我正在尝试使用<%# Eval("name") %>作为我页面的标题。我似乎无法在网上找出任何解决方案。我已经尝试了其他StackOverflow问题,但现在也可以。

页面是bio.aspx,在网站上显示为bio.aspx?id = 123,因此页面标题需要根据ID而有所不同。我想我可以使用Eval(“名字”),但没有运气。

我目前正在使用JavaScript:

window.onload = function() {
document.title = '<%# Eval("name") %> | Title Line';
}

这样可行,但它仍然将标题标签留空,这有点像垃圾邮件。

以下是代码隐藏:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class DoctorBio : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    Page.Title = "Your Page Title";

    HtmlMeta metaDescription = new HtmlMeta();
    metaDescription.Name = "description";
    metaDescription.Content = "brief description";
    Page.Header.Controls.Add(metaDescription);

    HtmlMeta metaKeywords = new HtmlMeta();
    metaKeywords.Name = "keywords";
    metaKeywords.Content = "keywords, keywords";
    Page.Header.Controls.Add(metaKeywords);
}
protected void SetPageTitle(object title)
{
this.Title = title.ToString();
}
protected string ReplaceLineBreaks(object text)
{
    string newText = text as string;
    if (newText == null) { return string.Empty; }
    return newText.Replace("\r\n", "<br />");
}
}

1 个答案:

答案 0 :(得分:1)

替换以下代码
以前的代码

this.Title = title.ToString();

替换为

Page.Title = title.ToString();

试试这个。它对我有用......