Я пытаюсь найти лучший способ персонализировать элемент страницы <head>
, чтобы избавиться от лишних разрывов строк, вызванных <head runat="server">
, поэтому его правильно отформатировали.ASP.NET: HTML-рендеринг HTML-страницы
До сих пор единственное, что я нашел, который работает следующая:
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);
}
Теперь у меня есть 2 вопроса:
- Как выше код влияет на производительность (так это жизнеспособный в производственной среде)?
- Есть ли лучший способ сделать это, например метод, который я могу переопределить только для пользовательского рендеринга
<head>
?
О, да, ASP.NET MVC не является вариантом.
EDIT:
Im спрашивая это касаемо SEO и только мало-мальски перфекционизма.
Почему вы хотите избавиться от лишних линий? –
Этот перфекционизм, применяемый к коду разметки, в частности, приведет только к вашим длительным страданиям. – 2010-04-01 13:19:17
Несколько лишних разрывов строк ничего не означают, так как пробелы сбрасываются при визуализации. – 2010-04-01 13:20:13