2011-01-18 45 views
4

这是我在大学里做的一个项目。我们使用ASP.NET MVC2来构建一个网站的迷你原型,以展示我们可以做的事情。ASP.NET MVC2 - 将参数传递给控制器​​

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

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

指向ItemControllerIndex()方法。假设我想要它参加int参数(Index(int eventId))我将如何编写ActionLink以将参数传递给它?

此外,如果我有任何错误,我认为这个东西的作品,请随时指出。

回答

2

您需要使用routevalues对象(或RouteValuesDictionary)将值传递给您的操作。 在您的例子就应该是这样的:

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

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

+0

感谢您的快速和正确的答案! – 2011-01-18 23:26:05

0

我认为

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

应该让你在你正在寻找去附近。

相关问题