使用部分视图 mvc 5 中的参数调用控制器方法

Call a controller method with parameters from partial view mvc 5

我正在尝试从部分视图调用我的 UsersController 中的操作方法 Details,该方法将 id 作为参数。 link 在我的局部视图中是这样的

@Html.ActionLink("My Account", "Details", "Users", routeValues: null, htmlAttributes: new { id = User.Identity.GetUserId() })

这是我的 ActionMethod

public ActionResult Details(long? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        User user = db.Users.Find(id);
        if (user == null)
        {
            return HttpNotFound();
        }
        return View(user);
    }

即脚手架生成的一个非常基本的动作方法。 现在的问题是,当我单击 link 时,参数 'id' 永远不会附加到 url。 url 看起来像这样

localhost:8888/Users/Details

什么时候应该在末尾附加 id 值。 有谁知道我哪里出错了?

不要试图将其作为 htmlAttribute 传递。像这样传递它:

@Html.ActionLink("My Account", "Details", "Users", new { id = User.Identity.GetUserId() }, null)