0

我在我的 asp mvc 应用程序中遇到了例程问题:The resource cannot be found.

Requested URL: /Admin/Users/Update

我的操作代码是:

[HttpGet]
public ActionResult UpdateUser(int userId)
{
    -some code-
    return View();
}

动作链接是:

@Html.ActionLink((string)fullName, "Update", "Users", new { userId = user.Id }, null)

路线:

public override void RegisterArea(AreaRegistrationContext context)
{
    context.MapRoute(
        "Admin_default",
        "Admin/{controller}/{action}/",
        new { controller = "Units", action = "Units" },
        new [] {"RSystem.Areas.Admin.Controllers"}
     );
 }

但其他动作,例如

public ActionResult Users(Role? role)

工作正常

4

3 回答 3

4

更改 ActionLink 以匹配操作名称:

@Html.ActionLink((string)fullName, "UpdateUser", "Users", new { userId = user.Id }, null)
于 2013-07-12T20:52:01.287 回答
0

从 nuget 安装 T4MVC 并避免这些错误,您将拥有智能控制器和动作!我知道硬编码控制器和动作名称是一件令人头疼的事情。

您使用 t4mvc 的代码:

@Html.ActionLink((string)fullName, MVC.Users.UpdateUser(), new { userId = user.Id }, null);

试试看。

于 2017-02-22T23:08:13.390 回答
0

由于您的 ActionResult 方法名称是 UpdateUser 所以在 ActionLink 你必须像这样通过

@Html.ActionLink((string)fullName, "UpdateUser", "Users", new { userId = user.Id }, null)
于 2018-05-19T11:27:25.577 回答