我应该如何添加JavaScript onclick事件来链接到较低的文件夹

How should I add a JavaScript onclick event to link to a lower folder?

本文关键字:链接 文件夹 事件 onclick 何添加 添加 JavaScript 我应该      更新时间:2023-09-26

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

<li><a href="@Href("~/Admin/Staff/")">Staff</a></li>

很明显,这给了我一个链接到我的网站的相应页面,当用户点击文本"员工"时,该页面就会被激活。我想让用户点击li元素中的任何地方来激活链接,所以简单的JavaScript onclick事件似乎是最好的。我试过了:

<li onclick="location.href='~/Admin/Staff/'"><a href="@Href("~/Admin/Staff/")">Staff</a></li>

但所做的只是将"/Admin/Staff/"附加到当前URL上。我已尝试将~替换为。和但得到了同样错误的结果。我尝试用location.href=替换location.hostname+,但仍然没有成功。

在我看来,当导航到相同或较低层次结构文件夹中的另一个文件时,这种使用似乎非常好,但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>