2011-04-29 40 views
1

我有很多代码,我正在重做,其中单个项目被封装在一个带有单个链接cssstyle的div块中。在div中包装.Net对象和将样式应用于“cssstyle”属性之间似乎没有任何实际差异。有没有真正的区别?asp.net cssclass vs直接将类分配给asp.net对象

<div class="grid_1"> 
     <asp:FormView ID="FormView8" runat="server" DataSourceID="odsInst"> 
      <ItemTemplate> 
       <asp:LinkButton ID="LinkButton1" runat="server" ToolTip='<%# Eval("TestScoresPageNrStudents")%>'>(?)</asp:LinkButton> 
      </ItemTemplate> 
     </asp:FormView> 
</div> 

VS

<asp:FormView ID="FormView8" runat="server" DataSourceID="odsInst" CssClass="grid_1"> 
    <ItemTemplate> 
     <asp:LinkButton ID="LinkButton1" runat="server" ToolTip='<%# Eval("TestScoresPageNrStudents")%>'>(?)</asp:LinkButton> 
    </ItemTemplate> 
</asp:FormView> 

回答

1

的区别是在第一种情况下,它将使:

<div class="grid_1"> 
    <table>...</table> 
</div> 

与:

<table class="grid_1">...</table> 

这将对影响你将如何设计你的CSS。我的想法是,第一个案例(<div>)会更好,因为它会在设计你的css类时获得更大的灵活性 - 主要是,你不会被限制在一个表中。当然,如果grid_1类仅用于表格数据的样式,那么第二种情况就没有问题。

0

这取决于你需要什么,但基本上我猜你应该用第二种方法,因为ASP.NET控件将呈现一些HTML元素,其class属性设置为您在CssClass =“中指定的内容......” ”。我认为最好的方法是查看ASP.NET控件呈现的HTML代码,如果这对您有用,那么您可以使用第二种方法(CssClass =“...”)。

另一方面,某些控件可能不会完全呈现您需要的HTML代码。例如。 GridView可能会呈现一个TABLE - 如果由于某种原因,您确实需要一个DIV元素,那么您必须按照方法一所示来包装它。

0

如果你保留这个单一的项目,没有。但请记住,CSS优先级基于嵌套级别。

应用CSS越低,其占用的优先级越高。另外,如果您在此div中添加更多元素,它们将在您将样式保留在容器div上时受到影响。

0

在第一种情况下,“grid_1”class属性应用于容器标签。

在第二种情况下,“grid_1”class属性应用于asp:FormView控件的主标签。

可以为不同标签定义自定义CSS规则,其类别等于“grid_1”

相关问题