ASP.NET MVC2 - 将参数传递给控制器

时间:2011-01-18 23:05:21

标签: asp.net-mvc-2

这是我在大学里做的一个项目。我们正在使用ASP.NET MVC2构建一个网站的迷你原型,以显示我们可以做什么。

现在,我有一个名为ItemController.cs的控制器,一个视图Item/Index.aspx,一个模型Item.cs和一个ViewModel ViewItems.cs。我使用ViewModel将信息从控制器传递给视图。我的问题是 - 如何使用参数调用控制器方法?目前,我使用

Html.ActionLink("View Event Items", "Index", "Item")

指向ItemController的{​​{1}}方法。假设我希望它采用Index()参数(int)如何编写ActionLink以将参数传递给它?

另外,如果我认为这些内容有误,我们可以随意指出它们。

2 个答案:

答案 0 :(得分:2)

您需要使用routevalues对象(或RouteValuesDictionary)将值传递给您的操作。 在您的示例中,它看起来像这样:

Html.ActionLink("View Event Items", "Index", "Item", new { eventId = 1}, new {})

...其中2是您的活动ID。第二个空对象(new {})用于html属性。 Nate的答案很接近,但我认为没有一个重载将routevalues对象作为第二个参数。

答案 1 :(得分:0)

我认为

Html.ActionLink("View Event Items", new { controller = "Item", action = "Index", id = 5 })

应该让你到达你想去的地方附近。