你可以把文字作为超链接的一部分吗?

时间:2013-02-20 22:09:03

标签: asp.net vb.net hyperlink literals

所以我的代码隐藏看起来像这样,并且正如文本一样正常工作。但我需要将值添加到超链接

If pt.SelectedValue = "1" Then
litTier.Text = "/link.aspx"
Else
litTier.Text = "link2.aspx"
End If

我的超链接目前看起来像这样

<a href='/link.aspx' onclick="return newWindow2('/link.aspx','300','300');">

当我添加文字时       代替/link.aspx我收到错误'Text'不是'System.Web.UI.HtmlControls.HtmlAnchor'的成员。

2 个答案:

答案 0 :(得分:2)

你需要的是一个超链接aspx服务器控件,而不是任何文字控件

例如:

<asp:HyperLink id="hyp1" NavigateUrl="/link.aspx" 
 OnClientclick="return newWindow2('/link.aspx','300','300');" runat="server"/>

然后在你的代码隐藏

If pt.SelectedValue = "1" Then
hyp1.NavigateUrl = "/link.aspx"
Else
hyp1.NavigateUrl = "link2.aspx"
End If

答案 1 :(得分:1)

  

当我添加文字代替/link.aspx时,我收到错误'Text'   不是'System.Web.UI.HtmlControls.HtmlAnchor'的成员。

错误消息(正如您所料)是正确的:Text不是可用属性。请改用InnerTextInnerHtml

http://msdn.microsoft.com/en-US/library/system.web.ui.htmlcontrols.htmlanchor_properties(v=vs.80).aspx

但听起来你有更多的问题。例如,这个文字在哪里?

你应该:

  • 使用<asp:Hyperlink><a runat="server">
  • 在您的标记中声明超链接
  • 使用适当的属性
  • 设置网址
  • 使用适当的属性设置文本
  • 使用Attributes集合
  • 设置其他客户端属性(如onclick