超链接中没有双引号

时间:2013-08-27 20:49:46

标签: vb.net

我在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>

2 个答案:

答案 0 :(得分: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"/>       

答案 1 :(得分: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)