我一直在尝试找出自定义呈现页面的<head>
元素的最佳方法,以消除由<head runat="server">
引起的额外换行符,因此其格式正确。
到目前为止,我发现的唯一有效的方法如下:
protected override void Render(HtmlTextWriter writer)
{
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
base.Render(htmlTextWriter);
htmlTextWriter.Close();
string html = stringWriter.ToString();
string newHTML = html.Replace("<title>\r\n\t", "<title>")
.Replace("\r\n</title>", "</title>")
.Replace("</head>", "\n</head>");
writer.Write(newHTML);
}
现在我有两个问题:
<head>
?哦是的ASP.NET MVC不是一个选项。
修改
我问这个关于SEO和一点点完美主义。
答案 0 :(得分:5)
根据我的经验,使用ASP.NET Forms意味着不可撤销地放弃对HTML输出的控制。最好接受以下内容:
<html>
<head>
,并且几乎总是<form>
个标签。如果您希望对页面输出进行精细控制,则使用MVC或其他框架几乎都是强制性的。即使是经典的ASP也可以,但不是ASP.NET Forms。