来自asp.net后面代码的动态超链接

时间:2017-06-08 10:49:13

标签: asp.net hyperlink

我想在asp.net中的代码后面的表列中的每个字段上使用动态超链接,我实现它:

table.Append("<td><asp:HyperLink ID='HyperLink1' NavigateUrl='#' runat='server'>" + (string)strNAME + "</asp:HyperLink></td>"); 

在该字段上但是当我运行它时没有链接点击。它没有效果。实施它的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

您需要以不同的方式处理此问题。服务器端控件不能作为字符串文字添加,它们应该是对象。所以你可以做的是将它添加为服务器端控件:

HyperLink hl = new HyperLink();
hl.ID = "HyperLink1";
hl.NavigateUrl = "#";
hl.Text = (string)strNAME;
TableCell tc = new TableCell();
tc.Controls.Add(hl);
table.Controls.Add(tc);

或者将其添加为客户端链接:

table.Append("<td><a href='#'>" + (string)strNAME + "</a></td>");

附注:将表格单元格添加到&#34;表格&#34;有点没有意义,因为应该有一行,而不是一个表,但我只是按原样保留你的代码,根据需要进行调整。

答案 1 :(得分:0)

从代码隐藏

创建超链接
HyperLink hlnk = new HyperLink();
        hlnk.InnerText = (string)strNAME;
        hlnk.ID = "HyperLink1";
        hlnk.NavigateUrl = "/test.aspx";
table.Controls.Add(hlnk);

希望有所帮助