【问题标题】:Additional characters to change the tag "title" in the code behind在后面的代码中更改标签“标题”的附加字符
【发布时间】: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,完整的头部标签如下&lt;header runat="server"&gt;,我不知道为什么,但如果我删除runat="server",它可以正常工作。

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

HTML:

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

代码隐藏:

TitleOfPage.InnerText = news.Title;

谢谢。

【问题讨论】:

    标签: asp.net html code-behind


    【解决方案1】:

    您是说 ASP.NET 将这些字符添加到您的标题中吗?这听起来不对。

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

    查看我的一些网页,我发现其中一些确实在我的标题文本周围有换行符。如果这就是发生的一切,那么我看不出有什么问题。浏览器基本上会删除空白,这不会造成不利影响。这会导致问题吗?

    【讨论】:

    • @Jonathan Wood。我得到相同的结果
    • news.Title.Length 返回什么?
    • news.Title.Length 返回 25 个字符
    • 嗯,你说它包含的文本中有 26 个字符,所以我仍然认为你没有提供完整的图片。 Page.Title = "This is a test" 是做什么的?
    • 我认为更好的问题是你希望它如何呈现?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多