Насколько я знаю, я не знаю, как и почему вы должны передать свою собственную модель представления своему действию, посетив URl, но, учитывая ваш упомянутый сценарий, я постараюсь помочь вам исправить недостающее поведение действия. и способ его обнаружения в ASP.NET MVC.
Вы правы, поскольку из-за вашего параметра viewModel
маршрут MVC3 по умолчанию не найдет это действие, поэтому вам нужно определить новый маршрут, соответствующий вашему действию контроллера.
рассмотрите следующий код:
routes.MapRoute(
"SearchRoute1", // Route name
"MyAction/{viewModel}", // URL with parameters
new { controller = "Home", action = "MyAction", viewModel = "" } // Parameter defaults
);
вы определите что-то вроде этого внутри вашего Global.ASAX
файла, в частности, внутри RegisterRoutes(RouteCollection routes)
метода,
чтобы таблица маршрутизации вашего приложения знала о вашем методе действия, тогда вы можете обработать запрос как обычно.
Дайте мне знать, помогло ли это вам, спасибо.