我在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" target="_blank">2013 BC 2566</a></td>
答案 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)