0

我在 vb.net 后面的代码中添加了超链接。我想生成这样的链接 http://localhost:8010/CardExplorer.aspx?nc=2013+BC+100” target="_blank" >2013 BC 100 但是,我使用以下代码没有显示双引用。请有人告诉我正确的代码。提前致谢。

Dim searchlink As New HyperLink
searchlink.Text = cn
searchlink.Attributes.Add("href", ConfigurationManager.AppSettings("Search") & Server.UrlEncode(cn) & """" & " target=" & """" & "_blank")
                        e.Item.Cells(6).Controls.Add(searchlink)

我也使用 Chr(34) 而不是使用 """" ,结果与下面相同。

<a href="http://localhost:8010/CardExplorer.aspx?nc=2013+BC+2566&quot; target=&quot;_blank">2013 BC 2566</a></td>
4

2 回答 2

1

为什么不直接使用超链接属性?

Dim searchlink As New HyperLink
searchlink.NavigateUrl = "http://foo.com"
searchlink.Target = "_blank"

或者更好的是,添加对设计时间的控制

<asp:HyperLink id="hyperlink1" ImageUrl="images/pict.jpg" NavigateUrl="http://www.microsoft.com" Text="Microsoft Official Site" Target="_blank" runat="server"/>       
于 2013-08-27T21:05:01.757 回答
0

您正在使用一个 Attributes.Add() 调用来添加所有属性。因此,它假设您想要href属性中的所有内容,并适当地对引号和类似字符进行编码以避免生成无效的 HTML。尝试将您的代码更改为如下所示:

Dim searchlink As New HyperLink
searchlink.Text = cn
searchlink.Attributes.Add("href", ConfigurationManager.AppSettings("Search") & Server.UrlEncode(cn))
searchlink.Attributes.Add("target", "_blank")
e.Item.Cells(6).Controls.Add(searchlink)
于 2013-08-27T20:57:46.320 回答