用于更改后面代码中标记“title”的其他字符

时间:2011-04-27 17:34:37

标签: asp.net html code-behind

我需要根据其内容更改页面标题,然后执行以下操作:

HTML(aspx):

<title id="titleOfPage" runat="server"></title>

背后的代码

titleOfPage.Text = news.Title;

但是当我运行页面时,我看到以下内容:

<title>
    My custom title completely
</title>

我的自定义标题在开头有以下字符“0D”+“0A”+“09”或ASCII eguivalente“013”+“010”“009”(回车+新行+水平制表符),最后是“0D”+“0A”。

如何才能正确显示?我需要搜索引擎(Google,Bing,...)。

news.Title是正确的,没有空格,其值为“我的自定义标题完全”。

由于

修改

我尝试titleOfPage.Text = "My custom title completely";并得到相同的结果

编辑II

我尝试在代码隐藏中创建一个属性,但结果是一样的,但是如果我把属性放在标签上,“div”文本看起来不错。

代码隐藏:

...
public string TitleOfPage { get; private set; }
...

TitleOfPage = news.Title;

HTML:

<head>
    <title><%= TitleOfPage %></title>
    ...
</head>
<body>
    <div><%= TitleOfPage %></div>
    ...
</body>

结果:

<title>
    My custom title completely
</title>

<div>My custom title completely</div>

编辑III

首先抱歉没有放过这个。在我的示例中,我没有完全包含标记head,完整的标题如下<header runat="server">,我不知道为什么,但如果我删除runat="server",它可以正常工作。

然后出现了标题为“innerText”的属性:

HTML:

<title id="TitleOfPage" runat="server"></title>

代码隐藏:

TitleOfPage.InnerText = news.Title;

感谢。

1 个答案:

答案 0 :(得分:1)

你是说ASP.NET正在为你的标题添加这些字符?这听起来不对。

顺便说一句,我会删除您的服务器端标题标记并改为设置Page.Title

查看我的一些网页,我看到其中一些网页的标题文字周围有新行。如果这就是发生的一切,那么我没有看到问题。浏览器基本上删除了空格,这不会产生任何不利影响。这会导致问题吗?