HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了标题元素中的ASP.NET换行符大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试优化我们网站上的SEO可读性,我遇到的一个问题是ASP.NET屠杀我的MasterPage的标题元素.在我的MasterPage中输入(手动重新格式化以删除由< %%>标记引起的换行符):

<title>titleContent" runat="server" /> - <%=WebsiteSetTings.Websitename %>title>

这是我收到的输出:

   <title>
    Home
 - Website Nametitle>

正如您所看到的,ASP.NET正在添加前缀和尾随换行符,其中< asp:ContentPlaceHolder />取而代之的是Visual studio自动格式< asp:Content />以换行开始和结束.显然,在Visual studio格式化选项中可以防止这种情况,但这并不理想,因为我只想删除titleContent占位符而不是其余的行为.

有什么方法可以确保我的标题在渲染之前被修剪掉了吗?我正在使用MVC,因此代码隐藏不是一个可接受的选择.

最佳答案
以下应允许您不要复制和粘贴代码.

选项1

由于您使用R_970_11845@VC创建HTML Helper,如下所示:

namespace [ProjectName].Web.Views
{
    public static class HtmlHelpers        
    {
            public static MvcHtmlString GetFullPagetitle(this HtmlHelper Helper,String PagetitlE)
            {
                return MvcHtmlString.Create(Pagetitle + " - " + WebsiteSetTings.WebsiteName)
            }
    }
}

现在在你的母版页中就是这样

<title>titleContent" runat="server" />title>

然后在你的页面中使用它

titleContent" ContentPlaceHolderID="titleConent" runat="server">
  <%=Html.GetFullPagetitle("Some Pagetitle")%>

选项2

注意:如果您在Action中填充数据,那么您不必将此添加到任何页面.

像这样:

public ActionResult myAction()
{
     ViewData["title"] = "MyActiontitle";
     return View()
}

然后在您的母版页面中,您只需执行以下操作即可

<title>titleContent" runat="server" /><%= ViewData["title"] + "-" +  WebsiteSetTings.Websitename %>title>

关于这一点的好处是,如果你想通过这样做可以覆盖每个页面中标题所说的内容

titleContent" ContentPlaceHolderID="titleConent" runat="server">
       My Override title
    

大佬总结

以上是大佬教程为你收集整理的标题元素中的ASP.NET换行符全部内容,希望文章能够帮你解决标题元素中的ASP.NET换行符所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。