从标题中删除空格(在头部)

时间:2016-01-05 07:27:45

标签: c# html asp.net-mvc

我有一个" wierd"问题。我的输出html title元素创建了linebreakes和whitespace。

<title><asp:ContentPlaceHolder ID="TitleContent" runat="server"></asp:ContentPlaceHolder></title>

我使用MVC 2并获得以下代码来生成我的标题元素

的Site.Master

<asp:Content ContentPlaceHolderID="TitleContent" runat="server">
    <%= Html.SeoTitle(Model.MetaTitle.Trim(), Html.DefaultTitle())%>   
</asp:Content>

页面(aspx)

public static string SeoTitle(this HtmlHelper helper, string title, string separator, bool siteNameLast, string fallbackTitle)
        {
            var siteName = SiteName(helper);

            title = !string.IsNullOrEmpty(title) ? title : fallbackTitle;

            if (string.IsNullOrEmpty(siteName))
                return title;

            title = title.TextToEntity();
            title = siteNameLast ? string.Format("{0} {1} {2}", title, separator, siteName) : string.Format("{0} {1} {2}", siteName, separator, title);

            return title;
         }

辅助

<title>
    title | brand name
</title>

我找不到任何与我获得此结果有关的内容。有什么想法吗?

修改
应用答案将减少一个换行符,使输出看起来像下面。我可以在同一条线上制作吗?

->submenus()

2 个答案:

答案 0 :(得分:2)

此代码会导致换行符和空格:

<asp:Content ContentPlaceHolderID="TitleContent" runat="server">
    <%= Html.SeoTitle(Model.MetaTitle.Trim(), Html.DefaultTitle())%>   
</asp:Content>

如果您删除它们的开始和结束标记,您仍然可以使用换行符开始和结束。

(removed tag, still whitespace hereafter)
    <%= Html.SeoTitle(Model.MetaTitle.Trim(), Html.DefaultTitle())%>   
(removed tag, still whitespace before)

因此,解决方案是立即启动asp:Content标记的内部内容,而不使用换行符。

<asp:Content ContentPlaceHolderID="TitleContent" runat="server"><%= Html.SeoTitle(Model.MetaTitle.Trim(), Html.DefaultTitle())%></asp:Content>

据我所知,这并不会影响标题的实际呈现方式。空白被删除了标题。

答案 1 :(得分:1)

在此处删除空格:

<asp:Content ContentPlaceHolderID="TitleContent" runat="server"><%= Html.SeoTitle(Model.MetaTitle.Trim(), Html.DefaultTitle())%></asp:Content>