一个超链接在许多不同的位置

时间:2010-09-09 16:42:27

标签: asp.net html master-pages hyperlink literals

我想在我的网站上的许多位置实现超链接,但我只想将其定义一次而不是多次。实现这一目标的最佳方法是什么?

我开始将它列在web.config的节点中,但我只能将其列为文字列表并且不能成功将其作为超链接结束。

我对母版页知之甚少,但我对他们的了解在我看来,他们不是这个任务的答案,因为他们不允许在某些页面上找到该超链接而不是其他人,在某些页面上的位置不同于其他页面。

请帮忙! :)

我在ASP.net VB.net工作

2 个答案:

答案 0 :(得分:0)

在您想要的每个页面上放置一个HyperLink控件。

e.g。 <asp:HyperLink runat="server" id="LogInLink">Login</asp:HyperLink>

然后在代码隐藏中的超链接上设置NavigateUrl属性,例如this.LogInLink.NavigateUrl = Global.MySpecialUrl;或使用<%=Global.MySpecialUrl%>表示法在标记中的NavigateUrl中引用您想要的代码值。

[抱歉,这是C#代码]

答案 1 :(得分:0)

您可以创建从HyperLink继承的自定义控件。此方法不需要在单个页面上使用代码隐藏,但您需要创建新类并修改web.config文件。根据需要更改名称空间。

<强> SpecialLink.vb

Namespace YourWebSite.Controls
 Public Class SpecialLink
  Inherits HyperLink

  Public Sub New()
   NavigateUrl = "~/SpecialLinkUri.aspx"
   Text = "Special Link Text"
  End Sub
 End Class
End Namespace

web.config (将其添加到system.web节点) 这允许您在整个网站的任何页面/母版页/用户控件上使用此控件

<pages>
  <controls>
   <add namespace="YourWebSite.Controls" tagPrefix="YourWebSite"/>
  </controls>
</pages>

在您的网页上使用

<p>This is some text, here's the link: <YourWebSite:SpecialLink></YourWebSite:SpecialLink></p>
<p>This is some text, <YourWebSite:SpecialLink>here's the link</YourWebSite:SpecialLink>.</p>