2011-09-07 63 views
0

我有一些行在服務器上運行,我想根據一些條件使它們中的一些變爲粗體。我如何循環控制。我行似乎是這樣的:通過HTML控制循環 - ASP.NET

<tr id="row1" runat="server"></tr> 
<tr id="row2" runat="server"></tr> 
<tr id="row3" runat="server"></tr> 
+0

如果您使用HTML表..嘗試使用

回答

1

嘗試這樣:

標記

<table id="table1" runat="server"> 
    <tr id="row1" runat="server"><td>cell1</td></tr> 
    <tr id="row2" runat="server"><td>cell2</td></tr> 
    <tr id="row3" runat="server"><td>cell3</td></tr>  
</table> 

代碼

using System.Web.UI.HtmlControls; 

... 

foreach (HtmlTableRow row in table1.Rows) 
{ 
    row.Style.Add("font-weight", "bold"); 
} 

希望這有助於。

0

您應該使用Repeater來輸出內容。這有能力根據AlternatingItemTemplateItemTemplate更改行。

<asp:Repeater ID="repeater" runat="server" 
    onitemdatabound="repeater_ItemDataBound"> 
    <HeaderTemplate> 
     <table> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr runat="server" id="row" class="odd"> 
      <td><%# Container.DataItem %></td> 
     </tr> 
    </ItemTemplate> 
    <AlternatingItemTemplate> 
     <tr runat="server" id="row" class="even"> 
      <td><%# Container.DataItem%></td> 
     </tr> 
    </AlternatingItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

您也可以勾ItemDataBound事件和定製的外觀和感覺的數據被寫入。

protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || 
     e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     var data = e.Item.DataItem; 
     var index = e.Item.ItemIndex; 

     var row = e.Item.FindControl("row"); 

     // do something with row control 
    } 
}