Pracowałem nad dużą aplikacją MVC przez ostatni miesiąc, ale jest to pierwszy raz, kiedy potrzebowałem zdefiniować niestandardowy program obsługi trasy i mam pewne problemy. Zasadniczo mam dwa parametry do przekazania. Pierwszy jest wymagany, a drugi opcjonalny.Routing ASP.NET MVC z jednym obowiązkowym parametrem i jednym opcjonalnym parametrem?
Podążam tą odpowiedzią here.
Oto mój zwyczaj trasa:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
A moja akcja metoda podpis:
public ActionResult MyAction(string param1, string param2)
Gdy próbuję URL http://[myserver]/MyController/MyAction/Test1/Test2
to działa jak oczekuję go z Param1 = „Test1 "i param2 =" Test2 "
Jeśli spróbuję adresu URL http://[myserver]/MyController/MyAction/Test1
, oba parametry będą mieć wartość null.
Mam nadzieję, że ktoś może mi powiedzieć, co robię źle tutaj, ponieważ jestem zgubiony.
Cześć z przyszłości - spróbuj przypisać routingu teraz - sposób sposób łatwiejszy i mniej podatne na błędy. – niico