大佬教程收集整理的这篇文章主要介绍了标题元素中的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,请注明来意。