如何在 mvc4 中使用 href link 一个 cshtml 页面

How to link a cshtml page using href in mvc4

我想 link 一个 Menu.cshtml 页面使用带有 href 的锚标记,这样每当我点击导航栏中的菜单 link 时,它都会引导我到 Menu.cshtml。我已经尝试过几次使用此代码,但我无法做到。这是我正在使用的代码:

<a class="page-scroll" href="~/Views/Home/Menu.cshtml">Menus</a>

试试这个,这个方法用于重定向。

@Html.ActionLink("Menus", "Menu", "Home", new {@class="page-scroll"});

您可以尝试使用 ActionLink html 助手,让框架以这种方式生成正确的 link.

@Html.ActionLink("Menus","Menu","Home", null, new { @class = "page-scroll" })

在 ASP.NET MVC 中,您不能直接 link 到视图。这将破坏 MVC 的全部目的。在 ASP.NET MVC 中,控制器负责为用户选择要 return 的视图。您为控制器操作创建一个操作link,并让该操作决定应return向用户显示哪个视图。在你的情况下是:

@Html.ActionLink("Menus", "Action", "Controller", null, new { @class = "page-scroll" });

假设您创建了一个名为 HomeController 的控制器和一个名为 Menu 的操作。让我们也添加一个简单的动作主体:

public ActionResult Menu()
{
    return View();
}

然后,按照惯例 ASP.NET MVC 将在 Views/Home/ 中查找名为 Menu.cshtml 的视图。你的行动link将link到这个行动将是:

@Html.ActionLink("Menus", "Menu", "Home", null, new { @class = "page-scroll" });

然而,您的问题是如何 link 使用 href 访问视图。 @Html.ActionLink 会为你做这件事,但如果你真的想使用 href,你可以 link 到一个动作而不是直接查看视图(如果你使用默认的 MVC 路由):

<a class="page-scroll" href="/Home/Menu">Menus</a>

图像作为 Asp.net Mvc 5 中的锚标记

当您想将徽标作为操作时 link

href="~/"

在布局页面中重定向到主页