gpt4 book ai didi

asp.net-mvc - ASP.NET MVC `Html.ActionLink` 之间 "Areas"

转载 作者:行者123 更新时间:2023-12-03 06:09:04 29 4
gpt4 key购买 nike

我已经向我的 MVC3 项目添加了一个新区域,并且我正在尝试从 _Layout 页面链接到新区域。我添加了一个名为“Admin”的区域,其中有一个 Controller “Meets”。

我使用 Visual Studio 设计器添加区域,以便它具有正确的区域注册类等,并且 global.asax 文件正在注册所有区域。

但是,当我在根目录的页面中使用以下 2 个操作链接时,我遇到了一些问题:

@Html.ActionLink("Admin", "Index", "Meets", new { area = "Admin" }, null)
@Html.ActionLink("Admin", "Index", "Meets", new { area = "" }, null)

单击这两个链接时,我将被带到管理区域中的 Meets Controller ,然后应用程序会抛出一个错误,指出找不到索引页面(即使索引页面存在于管理区域的 Views 文件夹中)区域子目录。

第一个链接的 href 如下所示:

http://localhost/BCC/Meets?area=Admin

第二个链接的 href 如下所示:

http://localhost/BCC/Meets

此外,如果我点击我希望创建的链接:

http://localhost/BCC/Admin/Meets

我刚刚收到资源无法找到错误。一切都非常令人困惑!希望有人能帮忙...

最佳答案

确实很奇怪。对我来说非常有效的步骤:

  1. 使用默认 Visual Studio 模板创建新的 ASP.NET MVC 3 应用程序
  2. 通过右键单击项目,使用 Visual Studio 设计器添加名为 Admin 的区域
  3. ~/Areas/Admin/Controllers/MeetsController中添加新 Controller :

    public class MeetsController : Controller
    {
    public ActionResult Index()
    {
    return View();
    }
    }
  4. 添加相应的 View ~/Areas/Admin/Views/Meets/Index.cshtml

  5. 在布局 (~/Views/Shared/_Layout.cshtml) 中添加链接:

    @Html.ActionLink("Admin", "Index", "Meets", new { area = "Admin" }, null)
    @Html.ActionLink("Admin", "Index", "Meets", new { area = "" }, null)
  6. 运行应用程序。

anchor 的渲染 HTML:

<a href="/Admin/Meets">Admin</a>
<a href="/Meets">Admin</a>

正如预期的那样,第一个链接有效,而第二个链接无效。

那么您的设置有何不同?

关于asp.net-mvc - ASP.NET MVC `Html.ActionLink` 之间 "Areas",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5432185/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com