ASP.NET MVC2 - передача параметра в контроллер - PullRequest
4 голосов
/ 19 января 2011

Это для проекта, который я делаю в университете. Мы используем ASP.NET MVC2 для создания мини-прототипа веб-сайта, просто чтобы показать, что мы можем сделать.

Теперь у меня есть контроллер с именем ItemController.cs, представление Item/Index.aspx, модель Item.cs и ViewModel ViewItems.cs. Я использую ViewModel для передачи информации в представление из контроллера. Мой вопрос - как я могу вызвать метод контроллера с параметрами? В настоящее время я использую

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

, который указывает на ItemController Index() метод. Скажем, я хочу, чтобы он принимал параметр int (Index(int eventId)). Как мне написать ActionLink для передачи ему параметра?

Кроме того, если у меня есть какие-либо ошибки в том, как я думаю, что это работает, пожалуйста, не стесняйтесь указывать на них.

Ответы [ 2 ]

2 голосов
/ 19 января 2011

Вам нужно будет использовать объект routevalues ​​(или RouteValuesDictionary) для передачи значений вашему действию.В вашем примере это будет выглядеть так:

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

... где 2 - ваш идентификатор события.Второй пустой объект (new {}) предназначен для атрибутов html.Ответ Нейта близок, но я не думаю, что есть перегрузка, которая принимает объект значений маршрута в качестве второго параметра.

0 голосов
/ 19 января 2011

Я думаю, что

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

должно привести вас к тому месту, куда вы хотите пойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...