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; }