我希望使用 href 的锚标签来链接一个 Menu.cshtml 页面,这样每当我点击导航栏中的菜单链接时它就会直接跳转到 Menu.cshtml 页面。我尝试过使用以下代码,但是无法实现。以下是我正在使用的代码:
<a class="page-scroll" href="~/Views/Home/Menu.cshtml">Menus</a>
我希望使用 href 的锚标签来链接一个 Menu.cshtml 页面,这样每当我点击导航栏中的菜单链接时它就会直接跳转到 Menu.cshtml 页面。我尝试过使用以下代码,但是无法实现。以下是我正在使用的代码:
<a class="page-scroll" href="~/Views/Home/Menu.cshtml">Menus</a>
@Html.ActionLink("Menus","Menu","Home", null, new { @class = "page-scroll" })
在ASP.NET MVC中,您无法直接链接到视图。这将破坏整个MVC的目的。在ASP.NET MVC中,控制器负责选择要返回给用户的视图。您可以创建一个操作链接到控制器操作,并让该操作决定应向用户返回哪个视图。在您的情况下,应该是:
@Html.ActionLink("Menus", "Action", "Controller", null, new { @class = "page-scroll" });
假设您创建了一个名为HomeController
的控制器和一个名为Menu
的操作。让我们还添加一个简单的操作主体:
public ActionResult Menu()
{
return View();
}
按照惯例,ASP.NET MVC会在 Views/Home/
文件夹中寻找名为 Menu.cshtml
的视图。您的actionlink将链接到这个动作:
@Html.ActionLink("Menus", "Menu", "Home", null, new { @class = "page-scroll" });
你的问题是如何使用 href 链接到一个视图。 @Html.ActionLink
会为你完成这个任务,但如果你真的想使用 href,你可以链接到一个 action 而不是直接链接到一个视图,例如(如果你正在使用默认的 MVC 路由):
<a class="page-scroll" href="/Home/Menu">Menus</a>
试试这个,这种方法用于重定向。
@Html.ActionLink("Menus", "Menu", "Home", new {@class="page-scroll"});
当您想要将Logo作为操作链接时
href="~/"
在布局页面中重定向到主页
@Html.ActionLink("菜单", "Menu", "yourController", null, new { @class = "page-scroll" })
并添加一个名为Menu
的控制器方法,返回视图。 - user3559349Menu.cshtml
放置在Home
文件夹中时,约定是您已经定义了一个Home
控制器和一个Menu
操作。 - Christospublic ActionResult Menu() { return View(); }
。在MVC中,您不会导航到文件,而是导航到返回视图的方法。 - user3559349