如何添加JavaScript onclick事件以链接到较低的文件夹?

如何添加JavaScript onclick事件以链接到较低的文件夹?,javascript,razor,onclick,Javascript,Razor,Onclick,我有一个菜单元素,我通过一个无序列表以一种相当标准的方式链接到某些其他页面。例如: <li><a href="@Href("~/Admin/Staff/")">Staff</a></li> 显然,这给了我一个指向我的站点的适当页面的链接,当用户单击文本“Staff”时,该页面被激活。 我想让用户能够单击li元素中的任意位置来激活链接,因此一个简单的JavaScript onclick事件似乎是最好的。我试过: <li onclick="

我有一个菜单元素,我通过一个无序列表以一种相当标准的方式链接到某些其他页面。例如:

<li><a href="@Href("~/Admin/Staff/")">Staff</a></li>
  • 显然,这给了我一个指向我的站点的适当页面的链接,当用户单击文本“Staff”时,该页面被激活。 我想让用户能够单击li元素中的任意位置来激活链接,因此一个简单的JavaScript onclick事件似乎是最好的。我试过:

    <li onclick="location.href='~/Admin/Staff/'"><a href="@Href("~/Admin/Staff/")">Staff</a></li>
    
  • 但所做的只是将“/Admin/Staff/”附加到当前的URL上。我试着用~。和。。但得到了同样错误的结果。我尝试用location.hostname+替换location.href=,但仍然一无所获


    在我看来,当导航到同一个文件夹或更低层次文件夹中的另一个文件时,这种用法似乎非常好,但JavaScript似乎不喜欢HTML使用的“查找根文件夹”机制。这里有没有人有很好的跨浏览器解决方案?我更喜欢非jQuery解决方案,这样就不必为了这样一个非常简单的任务而导入整个jQuery库。

    您必须每次调用
    Href()
    Href
    将~/解析为应用程序的实际虚拟目录或根路径

    <li onclick="location.href='@Href("~/Admin/Staff/")'">
        <a href="@Href("~/Admin/Staff/")">Staff</a>
    </li>
    
  • 或者,如果要仅指定和计算一次:

    @{
        var staffPath = Href("~/Admin/Staff/");
    }
    
    <li onclick="location.href='@(staffPath)'">
        <a href="@(staffPath)">Staff</a>
    </li>
    
    @{
    var staffPath=Href(“~/Admin/Staff/”);
    }
    

  • 每次都必须调用
    Href()
    Href
    将~/解析为应用程序的实际虚拟目录或根路径

    <li onclick="location.href='@Href("~/Admin/Staff/")'">
        <a href="@Href("~/Admin/Staff/")">Staff</a>
    </li>
    
  • 或者,如果要仅指定和计算一次:

    @{
        var staffPath = Href("~/Admin/Staff/");
    }
    
    <li onclick="location.href='@(staffPath)'">
        <a href="@(staffPath)">Staff</a>
    </li>
    
    @{
    var staffPath=Href(“~/Admin/Staff/”);
    }
    

  • 您无法打开该文件夹:P
    onclick=“location.href+=”/Admin/Staff/”
    onclick=“location.href=@href(“~/Admin/Staff/”)
    您无法打开该文件夹。:P
    onclick=“location.href+=”/Admin/Staff/”
    onclick=“location.href=@href(“~/Admin/Staff/”)“
    谢谢你这么快的回答和简洁的解释。谢谢你这么快的回答和简洁的解释。