2012-07-13 54 views
1

我需要属性class(如果它不存在)位于中继器中的表行。代码中存在一个问题。中继器和tr runat =服务器。如何添加类到行?

ASPX

<asp:Repeater runat="server">........ 
    <ItemTemplate> ..... 
     <tr runat="server" id="row" > 
     ..................... 

代码隐藏

void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e) 
     { 
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
      { 

       var row= e.Item.FindControl("row"); 
       //how do I use it? How do I add "class" (if not exists) to "row"? 
      } 
     } 

回答

2

这个对象是一个HtmlDataRow:

HtmlTableRow row = e.Item.FindControl("row") as HtmlTableRow; 
if (row != null) 
{ 
    if (string.isNullOrEmpty(row.Attributes["class"])) 
    { 
     row.Attributes["class"] = "myClass"; 
    } 
    else 
    { 
     row.Attributes["class"] = string.Format("{0} {1}", row.Attributes["class"], "myClass"); 
    } 
} 
+0

我如何检查它是否存在?如果是这样,我只需要将我的课程添加到现有的课程中。 – 2012-07-13 12:52:29

+0

添加检查以查看班级是否已经存在与否 – 2012-07-13 12:55:08