我需要根据其内容更改页面标题,然后执行以下操作:
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;
感谢。
答案 0 :(得分:1)
你是说ASP.NET正在为你的标题添加这些字符?这听起来不对。
顺便说一句,我会删除您的服务器端标题标记并改为设置Page.Title
。
查看我的一些网页,我看到其中一些网页的标题文字周围有新行。如果这就是发生的一切,那么我没有看到问题。浏览器基本上删除了空格,这不会产生任何不利影响。这会导致问题吗?