修改asp.net中继器中的嵌入超链接

Modifying embedded hyperlink in asp.net repeater

本文关键字:超链接 asp net 中继器 修改      更新时间:2023-09-26

我使用的是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>

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

$(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');