Зачем нужно думать о размере страницы? Представьте, что ваша страница весит несколько мегабайт, но безумно красивая и насыщенная. Человек заходит за нужной информацией и начинает ждать полминуты, пока это все загрузится, чтобы получить то, что хотел. Надолго ли его хватит исследовать ресурс? Скорее всего очень скоро ему это надоест. Вот поэтому необходимо думать о размере страницы и стараться ее уменьшить.
Во-первых, хорошо бы все стили выносить в отдельный css файл и просто его подключать, в коде страницы. Таким же образом необходимо поступать с JavaScript функциями. Пишем их все в отдельном файле, а затем только подключаем. Что это даст? Это уменьшит размер загружаемой страницы, а css и js файлы будут кешироваться браузером. Тем самым достигаем желаемого результата. Что еще можно сделать?
При создании сайтов на ASP.NET получается огромный ViewState, который резко увеличивает вес. Его можно отключить, прописав в заголовке страницы EnableViewState="false". Если же для каких-то элементов он нам необходим, то можно вручную для этого элемента включить ViewState. Но в любом случае его выключение поможет сохранить приемлемый размер html разметки.
Помимо всего этого, в генерируемой разметке присутствует масса пробелов и переносов строк, которые не играют никакой роли в визуализации, а лишь позволяют удобно просматривать разметку, и тем самым увеличивая объем. Но если задуматься: оно нам надо? Есть возможность избавиться от этого мусора и еще на немного уменьшить страницу.
Для этого необходимо в коде страницы переопределить PreRender и добавить следующий код:
protected override void Render(HtmlTextWriter writer)
{
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
base.Render(htmlWriter);
string result = stringWriter.ToString();
htmlWriter.Close();
result = Regex.Replace(result, ">\\s+<", "><", RegexOptions.Compiled);
result = Regex.Replace(result, "\\s+", " ", RegexOptions.Compiled);
result = result.Replace("//<![CDATA[", "/*<![CDATA[*/");
writer.Write(result);
}
Теперь пытаясь просмотреть разметку мы увидим сплошной html без красивой разметки, зато на немного уменьшим вес страницы.