ASP.Net Control ID对SEO和页面大小有害吗?

Joh*_*ohn 3 c# asp.net seo webforms

ASP.Net控件(例如asp:Label)生成凌乱的html id(例如ct100_ct100_Yabba_Dabba_Doo_FinallyTheRealId).是的,他们很难看,但今天有人告诉我他们也是:

  1. 对SEO不友好
  2. 增加页面大小

我半信半疑,一半不相信.我知道某些id名称(例如"header")是搜索引擎用来生成元信息的关键字,但我更怀疑id ="author"的跨度确实会影响SEO.我愿意承认我错了.

在第2点),我至少90%持怀疑态度.大多数页面大小不是html字符,我真的想知道100个更长的ID是否会为页面大小增加1kb.

我可以采用两种方法中的一种.你会采取哪种方法?

方法1)

<asp:Label id="lblAuthor" runat="server"></asp:Label>
Run Code Online (Sandbox Code Playgroud)

代码背后

protected void Page_Load(object sender, EventArgs e)
{
   lblAuthor.Text = "Superman";
Run Code Online (Sandbox Code Playgroud)

方法2)

<span id="author"><%# Eval("Author") %></span>
Run Code Online (Sandbox Code Playgroud)

代码背后

public string Author { get; private set; }
protected void Page_Load(object sender, EventArgs e)
{
       Author = "Superman";
Run Code Online (Sandbox Code Playgroud)

一方面,1)不会产生令人讨厌的ID.另一方面,我总是讨厌asp.net web表单中的无类字符串,并尽可能避免使用它们.此外,如果一个页面有30多个元素,我最终会有30个页面属性,这让我感到不安.(旁注:喜欢模型在MVC模式中的工作原理).

我们正在使用.Net 3.5.

你的想法是什么?

谢谢.

Ant*_*ram 5

方法3)

<span id="author"><asp:Literal id="author" runat="server" /></span>
Run Code Online (Sandbox Code Playgroud)

代码背后:

author.Text = "Dr. Seuss";
Run Code Online (Sandbox Code Playgroud)

asp:Literal这就是名称所暗示的,一种只呈现发送文本的控件; 不多也不少.