【发布时间】:2015-01-13 08:01:33
【问题描述】:
我需要根据其内容更改页面标题,然后执行以下操作:
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”。
我怎样才能正确显示?,我需要它来搜索引擎(谷歌,必应,...)。
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;
谢谢。
【问题讨论】:
标签: asp.net html code-behind