2011-04-29 87 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」

相關問題