Я работаю над большим MVC-приложением за последний месяц или около того, но это первый раз, когда мне когда-либо приходилось определять собственный обработчик маршрута, и у меня возникают некоторые проблемы. В основном у меня есть два параметра для прохождения. Первый необходим, а второй - необязательный.
Я следую этому ответу здесь.
Вот мой пользовательский маршрут:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
И моя подпись метода действия:
public ActionResult MyAction(string param1, string param2)
Если я попробую URL http://[myserver]/MyController/MyAction/Test1/Test2
, то он будет работать так, как я ожидаю, с параметром param1 = "Test1" и param2 = "Test2"
Если я попробую URL http://[myserver]/MyController/MyAction/Test1
, то оба параметра равны нулю.
Надеюсь, кто-то может сказать мне, что я здесь делаю неправильно, потому что я потерялся.