Asp.Net页面中Class和CssClass的区别

  昨天在公司修改一个系统的页面布局,涉及到修改页面元素的样式。在修改过程中我产生了一个疑问,为什么html标签中的类样式属性是用Class,而Asp.Net元素的类样式就使用CssClass属性呢?经过在网上搜索和对Asp.Net服务器控件的CssClass属性解释的查看,我得到了答案。我将它们的区别记录如下:

  首先,我在Asp.Net页面上定义一个简单的CSS类样式。

1     <style type="text/css">
2         .txt
3         {
4             width: 200px;
5             height: 30px;
6             border-color: #6BDEFC;
7         }
8     </style>

  其次,我在页面上添加两个文本框,一个是html标签形式的,一个是Asp.Net控件形式的。

1     <form id="form1" runat="server">
2     <div>
3         <input type="text" id="txtHtml" class="txt" value="我是Html标签中的文本框" />
4         <br />
5         <br />
6         <asp:TextBox ID="txtServerControl" runat="server" CssClass="txt" Text="我是Server控件的文本框"></asp:TextBox>
7     </div>
8     </form>

      它们的区别是应用CSS样式的时候的属性不同,html标签的文本框是用Class属性,而Asp.Net控件的文本框是用CssClass属性。它们的效果是一样的,如下图所示:

  它们的区别是:html标签中是没有CssClass这个属性的而Asp.Net中的一些Asp.Net控件签封装了html的一些属性,为了更好的区别一些相同名字的属性,Asp.Net标签将html标签的class属性改名为CssClass所以本质是一样,只不过名字不一样而已。

     以下是Asp.Net对CssClass属性的解释:

 1          // 摘要:
 2         //     获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。
 3         //
 4         // 返回结果:
 5         //     由 Web 服务器控件在客户端呈现的 CSS 类。默认值为 System.String.Empty。
 6         [WebCategory("Appearance")]
 7         [DefaultValue("")]
 8         [WebSysDescription("WebControl_CSSClassName")]
 9         [CssClassProperty]
10         public virtual string CssClass { get; set; }

 

 

posted @ 2012-06-30 18:02  YunshiSun  阅读(11462)  评论(1编辑  收藏  举报