【问题标题】:Passing a named parameter in MVC via Html.ActionLink通过 Html.ActionLink 在 MVC 中传递命名参数
【发布时间】:2013-10-27 18:22:46
【问题描述】:

我正在学习 MVC,但我不知道如何通过名称将参数传递给表单。

给定以下代码:

 string itemID = item.ID.ToString();
   <li>@Html.ActionLink((string)item.Title, "StartRun", "Run",new { id = itemID}, null)</li>

我希望能够检索接收控制器上的参数并通过执行以下操作将其传递给视图:

ViewBag.ID = Request["id"];

这不会检索任何内容,当我处理 Request[] 数组时,我找不到该值。 我做错了什么?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    在您的 Run 控制器中,只需执行以下操作:

    public ActionResult StartRun(string id)
    {
        ViewBag.ID = id;
    }
    

    您的返回值可能有点不同,但没关系。如果您希望id 是可选的,请将其设为可选参数:

    public ActionResult StartRun(string id = "5")
    {
        ViewBag.ID = id;
    }
    

    如果您知道您的 ID 始终是 int,您也可以使用 int

    public ActionResult StartRun(int id)
    {
        ViewBag.ID = id;
    }
    

    【讨论】:

    • 太棒了,谢谢。我今天有很多事情要做,我找不到我买的书来学习这一切,你的帖子对我很有帮助。
    猜你喜欢
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2014-01-08
    相关资源
    最近更新 更多