条件锚

时间:2014-08-11 10:01:54

标签: c# javascript jquery asp.net

我有一个网站,我需要有条件导航。就这样:

菜单

中的点击项

1:如果是首页,请转到#id

(example <a href="#events">) 

2:如果是子页面,请转到前页或其他子页面

(example <a href="../events/>)

该网站是.net网站,导航位于主页上。

我想到了解决这个问题的不同方法,无论是 .Net&amp; C#,JS或JQuery。 在.Net中,我认为我可以分配asp控件,只是在不同的子页面中提供不同的链接,然后使用代码隐藏进行某种循环或替换。

如果有人知道如何理解这一点,请写信。提前谢谢!

代码示例:

<li>
<a href="<%--../coaching/--%>#Coaching" title="title text">Coaching & Consulting</a>
</li>

2 个答案:

答案 0 :(得分:1)

为什么不用菜单创建用户控件?

你可以在这里查看: http://msdn.microsoft.com/en-us/library/vstudio/fb3w5b53(v=vs.100).aspx 并将一些参数传递给用户控件并处理其中的链接更改。

您可以将该菜单存储在其他位置,例如某处的xml文件中,并将其呈现为所需的html。

答案 1 :(得分:1)

我遵循Vfleitao的建议并尝试了用户控制。正如其他人可以看到我如何解决它是一些代码示例:

标头用户控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="header.ascx.cs" Inherits="menu" %>
<ul class="show-for-large-up">
        <li><a href="<%= this.AboutUsLink %>" title="">About us</a></li>
        <li><a href="<%= this.CoachingLink %>" title="">Coaching</a></li>
        <li><a href="<%= this.ConsultingLink %>" title="">Consulting</a></li>
        <li><a href="<%= this.EventsLink %>"  title="">Events</a></li>
        <li><a href="<%= this.ContactLink %>"  title="">Contact</a></li>
</ul>

<强>代码隐藏:

private string aboutUsLink;
private string coachingLink;
private string consultingLink;
private string eventsLink;
private string contactLink;

public string AboutUsLink
{
    get { return aboutUsLink; }
    set { aboutUsLink = value; }
}

public string CoachingLink
{
    get { return coachingLink; }
    set { coachingLink = value; }
}

public string ConsultingLink
{
    get { return consultingLink; }
    set { consultingLink = value; }
}

public string EventsLink
{
    get { return eventsLink; }
    set { eventsLink = value; }
}

public string ContactLink
{
    get { return contactLink; }
    set { contactLink = value; }
}

在页面中使用

<%@ Register TagPrefix="My" TagName="header" Src="~/header.ascx" %> <%-- Maybe this could be moved to the master page? --%>
<My:header runat="server" ID="MyHeader" AboutUsLink="#OmOs" CoachingLink="#Coaching" ConsultingLink="#Consulting" EventsLink="#Events" ContactLink="#Contact" />

<My:header runat="server" ID="MyHeader" AboutUsLink="../about/" CoachingLink="../coaching/" ConsultingLink="../consulting/" EventsLink="../events/" ContactLink="../contact/" />

求助的来源: http://asp.net-tutorials.com/user-controls/creating/