通过Html.ActionLink在MVC中传递命名参数

时间:2013-10-27 18:22:46

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

我正在学习MVC,我无法弄清楚如何通过名称将参数传递给表单。

给出以下代码:

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

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

ViewBag.ID = Request["id"];

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

1 个答案:

答案 0 :(得分: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;
}