在c#中查找表中的span标记

时间:2012-07-06 09:35:03

标签: c# asp.net

<table id="mytable" runat="server">
        <tr class="csstablelisttd">
            <td>
                08:00
            </td>
            <td>
                00
            </td>
            <td>
                <span></span>
            </td>
        </tr>


  for(int i = 0; i < mytable.Rows.Count - 1; i++)
                {
                    for(int j = 0; j < mytable.Rows[i].Cells.Count; j++)
                    {

    }
}


if(mytable.Rows[i].Cells[j].Attributes["class"] != null && mytable.Rows[i].Cells[j].Attributes["class"].Equals("csstdgreen"))
                {
                    //For finding class of td.I use above code 
                }

我必须在表格中找到span标记,并且必须在span标记中添加文本。 这是在表的td。 我不想申请runat =“server”,因为我的表格中有50个跨度。 我在这样的表中循环。我有搜索google很多,但没有在c#中找到任何东西。 我必须在数据库的span标记中加值 注意:没有Javascript或Jquery!

8 个答案:

答案 0 :(得分:2)

您必须使用asp:Label或将runat="server"放在<span>上,或从代码隐藏生成范围

 //Just an hint, can't remember the proper way to do this but you can

 myTable.Rows[i].Cells[last].InnerHtml = "<span>value</span>";

给你另一个选择/想法

答案 1 :(得分:1)

使用jQuery时,给你所有跨度的className和TD一个ID

<td id="idOfTd">
    <span class="className">Blabla</span>
</td>

在jQuery中你可以做到以下几点:

var allSpans = $('#idOfTd .className');

答案 2 :(得分:1)

如果你想在代码中添加跨度的文本,那么我知道它太过凝灰岩而不使用runat =“server”。但是如果你想在javascript中添加文本,那么就可以通过在td中使用getElementusingTagName('span')搜索span并向其中添加文本来完成.... 为了在javascript中执行此操作,您无需为span提供id,也无需编写runat =“server”。 下面是javascript代码 -

<script type="text/javascript"> function getInfo() { var mygetTable = document.getElementById("<%=mytable.ClientID %>"); for (var j = 0; j < mygetTable.rows.length; j++) { var abc = mygetTable.rows[j].cells[2].getElementsByTagName('span'); abc[0].innerHTML = 'I am Span.'; } } </script>

答案 3 :(得分:0)

给出TD或跨越ID并通过代码

添加数据

答案 4 :(得分:0)

如果您不想使用服务器控件,也许javascript更适合做这项工作。

答案 5 :(得分:0)

首先给每个范围一个唯一的ID,比如下面给出的那个......

<td>
<span id="span1"></span>
</td>

然后使用javascript你可以找到这个范围并添加所需的文本,有些像

 document.getElementById('test').innerHTML = 'your required message can go here';

这是一个小的小提琴链接= http://fiddle.jshell.net/fFHbf/

答案 6 :(得分:0)

如果您可以为每个标记设置ID,则可以执行以下操作:

HTML:

<span id="spanTagId"></span>

然后,使用java脚本:

document.getElementById('spanTagId').innerHTML = 'Your text...';

答案 7 :(得分:0)

如果你想在代码中添加跨度的文本,那么我知道它太过凝灰岩而不使用runat =“server”。但是如果你想在javascript中添加文本,那么就可以通过在td中使用getElementusingTagName('span')搜索span并向其中添加文本来完成....为了在javascript中执行此操作,您无需为span提供id,也无需编写runat =“server”。下面是javascript代码 -

<script type="text/javascript"> 
function getInfo() 
{ 
    var mygetTable = document.getElementById("<%=mytable.ClientID %>"); 
    for (var j = 0; j < mygetTable.rows.length; j++) 
    { 
        var abc = mygetTable.rows[j].cells[2].getElementsByTagName('span');
        abc[0].innerHTML = 'I am Span.'; 
    } 
 } 
 </script>