Элементы управления ASP.Net (например, asp: Label) генерируют грязные идентификаторы HTML (например, ct100_ct100_Yabba_Dabba_Doo_FinallyTheRealId). Да, они безобразны, но кто-то сказал мне сегодня, что они также:
- недружественный для SEO
- увеличить размер страницы
Я наполовину верю 1) и наполовину не верю. Я знаю, что определенные имена идентификаторов (например, «заголовок») - это ключевые слова, которые поисковые системы будут использовать для создания метаинформации, но я более скептически отношусь к тому, что диапазон с id = «author» действительно влияет на SEO. Я готов признать, что могу ошибаться.
По пункту 2) я скептически настроен как минимум на 90%. Большая часть размера страницы не является html-символами, и я действительно задаюсь вопросом, добавит ли даже 100 длинных идентификаторов 1 КБ к размеру страницы.
Я могу пойти с одним из двух подходов. Какой подход вы бы выбрали?
Подход 1)
<asp:Label id="lblAuthor" runat="server"></asp:Label>
с кодом позади
protected void Page_Load(object sender, EventArgs e)
{
lblAuthor.Text = "Superman";
или
Подход 2)
<span id="author"><%# Eval("Author") %></span>
с кодом позади
public string Author { get; private set; }
protected void Page_Load(object sender, EventArgs e)
{
Author = "Superman";
С одной стороны, 1) не генерирует неприятные идентификаторы. С другой стороны, я всегда ненавидел нетипизированные строки в веб-формах asp.net и избегал их, когда мог. Кроме того, если на странице более 30 элементов, я получаю 30 свойств страницы, что заставляет меня чувствовать себя неловко. (Примечание: причина любить то, как модель работает в шаблоне MVC).
Мы работаем в .Net 3.5.
Что ты думаешь?
Спасибо.