ASP.NET MVC - передать параметр в мой метод действия? - PullRequest
0 голосов
/ 08 сентября 2010
    public ActionResult RenderMyThing(IList<String> strings)
    {
        return View("RenderMyView");
    }

Как передать строки?

        routes.MapRoute("MyRoute", "RenderMyThing.aspx", new { controller = "My", action = "RenderMyThing" });

Есть ли способ, которым я мог бы передать здесь строки?

Во-вторых, как ASP.NET MVC узнает, что действие - это мое действие, а контроллер - мой контроллер. Как я видел в примерах, и это работает, но разве это не анонимный объект без типа?

1 Ответ

0 голосов
/ 23 февраля 2011

Это происхождение привязки модели: инфраструктура должна иметь некоторую инструкцию о том, как превратить «запрос», который выходит из контекста маршрутизации, строки запроса, коллекции форм и т. Д., В параметры, которые вашМетод действия хочет.

DefaultModelBinder сгенерирует список, если увидит, что у вас есть несколько пар ключ-значение с одним и тем же ключом (и соответственно типизированными / конвертируемыми значениями) - для деталей, Филнаписал хороший пост об этом :

Если вам нужны более сложные требования связывания, вы можете реализовать пользовательское связывание модели и явно определить, как значения маршрута и другие биты преобразуются в объекты (или коллекции объектов)..

...