简体   繁体   English

遍历HTML控件-ASP.NET

[英]Looping through HTML controls - ASP.NET

I have some rows that runs on server and I want to make some of them bold according to some conditions. 我有一些在服务器上运行的行,并且我想根据某些条件使其中一些行变为粗体。 How can I loop through the controls. 我如何遍历控件。 My rows seems like this: 我的行看起来像这样:

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

Try something like this: 尝试这样的事情:

Markup 标记

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

Code

using System.Web.UI.HtmlControls;

...

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

Hope this helps. 希望这可以帮助。

You should use a Repeater to output the content. 您应该使用Repeater来输出内容。 This has the ability to change rows based on AlternatingItemTemplate and ItemTemplate . 这具有基于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>

You can also hook the ItemDataBound events and customize look and feel as the data is written. 您还可以挂钩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
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM