在asp.net转发器中修改嵌入式超链接

时间:2015-03-16 13:52:57

标签: javascript jquery asp.net repeater

我正在使用asp.net repeater并通过数据表从SQL绑定数据。我想根据DataRow修改客户端的超链接。表中可以有其他几个超链接,但我必须单独处理第二列中的超链接。最好的方法是什么?任何代码示例都非常受欢迎。

<table border="0" cellpadding="2" cellspacing="0" width="100%" id="myTable">
    <tr>
        <td align="left">ID</td>
        <td align="left">DESCRIPTION</td>
        <td >STATUS</td>
    </tr>
    <tr>
        <td>10</td>
        <td>
            <span style="color: Red; font-weight: bold">Server is Down</span> 
            Click <a href="/admin.aspx">here</a> to continue.
        </td>
        <td>No Response</td>
    </tr>
</table>

1 个答案:

答案 0 :(得分:0)

您可以使用以下jQuery更改第2行第2列中的所有链接:

$(document).ready(function() {
    $('#myTable tr:nth-child(2) td:nth-child(2) a').each(function() {
        var someValue = '/2';
        $(this).prop('href', someValue + $(this).prop('href'));
    });
}); 

这里的问题是你从那里得到someValue。您必须以某种方式使用<asp:Repeater>将其添加到输出中。 您可以将其作为数据属性放在<td>中,如下所示:

转发器输出

...
<td data-id="2">
    <span style="color: Red; font-weight: bold">Server is Down</span> 
    Click <a href="/admin.aspx">here</a> to continue.
</td>
...

<强> JS

var someValue = '/' + $(this).parent().data('id');