Set .aspx page title to that of an Eval

Posted by user1860529 on Stack Overflow See other posts from Stack Overflow or by user1860529
Published on 2012-11-28T16:39:44Z Indexed on 2012/11/28 17:04 UTC
Read the original article Hit count: 177

Filed under:
|

I am trying to use an <%# Eval("name") %> to be the title of my page. I can't seem to figure out any solutions online. I have tried the other StackOverflow question but that did now work either.

The page is a bio.aspx and on the site it is displayed as bio.aspx?id=123 so the page title needs to vary depending on the ID. I figured I could just use the Eval("name") but no luck yet.

I currently am using JavaScript:

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

This works, but it still leaves the title tags empty, and it's kind of spammy.

Here is the codebehind:

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 />");
}
}

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about .NET