Я пытаюсь создать маршрут к определенному контроллеру/действию, которому необходимо принять необязательные параметры запроса.Маршрут Querystring в MVC2
URL, я хотел бы принять являются:
/Products/ProductsListJson
/Products/ProductsListJson?productTypeId=1
/Products/ProductsListJson?productTypeId=1&brandId=2
/Products/ProductsListJson?productTypeId=1&brandId=2&year=2010
У меня есть действие, как это:
public JsonResult ProductsListJson(int productTypeId, int brandId, int year)
и маршрут, как это:
routes.MapRoute(
null, "Products/ProductsListJson",
new { controller = "Products", action = "ProductsListJson", productTypeId = 0, brandId = 0, year = 0 }
);
Я предположил, что действие «ProductsListJson» просто увидит URL-запросы запроса и сопоставит их с соответствующими аргументами, однако этого не происходит.
Кто-нибудь знает, как это может быть достигнуто?
Спасибо. Я бы хотел, чтобы они по умолчанию были 0 автоматически. Это возможно? Или мне нужно оценить в действии? –
Ну, тогда просто используйте оператор [null coalescing] (http://msdn.microsoft.com/en-us/library/ms173224.aspx). Всякий раз, когда вам нужно их использовать: 'productTypeId ?? 0' –
все хорошо .. надеялся, что маршрут справится с этим .. спасибо за вашу помощь :) –