类比CssClass快吗?

时间:2015-10-19 17:34:40

标签: html css asp.net

我想知道:

的表现

<asp:TextBox runat="server" class="someCssClass"></asp:TextBox>

VS

<asp:TextBox runat="server" CssClass="someCssClass"></asp:TextBox>

我的猜测是classCssClass快,因为.net可能与class无关。另一方面,它必须与CssClass合作才能在呈现时将其变为class

所以我真的有几个问题:

  • 是否存在性能差异?
  • 如果是,那有意义吗?
  • 也许真正的问题应该是...如果您不需要在代码中引用CssClass,那么仅使用class更有意义,这样您就不会.net做了不必要的工作吗?

注意:显然,有理由使用CssClass但是我们不需要在其他问题中解决这些问题。但是,我没有找到任何可以解决的问题。

1 个答案:

答案 0 :(得分:1)

性能差异很小,但反过来说 - 我认为CssClass可能比class快一点。

要理解为什么会这样,人们需要有一个视图状态跟踪的概念。我不会在这里详细介绍所有细节,但会引用a classic article about the view state。请阅读它,真棒!

简而言之,ViewState跟踪允许ASP.NET节省一些控件属性,这些属性在页面生命周期中从初始值更改。 ViewState支持CssClass,而Attributes收集的class收集,很可能不是(我不是100%肯定,需要检查来源)。

就渲染而言,没有任何差别。 CssClass直接翻译为html class,而class作为Attributes集合的成员之一进行处理。没有将控制标记直接转换为html的内容,所提到的每种方式都会导致一些渲染处理。