In MVC 2 cand se declara un map route - unul sau mai multi parametrii pot sa fie optionali. In acest caz cand se face apelul unei actiuni, acesti parametri pot sa lipseasca.
De exemplu putem sa avem urmatoarea mapare:
routes.MapRoute(
"Drive",
"drive/go/strada/numar"
controller = "Drive",
new
{
action = "Go",
numar = UrlParameter.Optional
bloc = UrlParameter.Optional
});
Antetul actiuni ar avea forma:public ActionResult Go(string strada, int? numar,int? bloc);
Apelul spre aceste acțiuni am dorii sa fie de forma:
http://localhost/drive/go?strada=Dunarii
http://localhost/drive/go/Dunarii/10/5
http://localhost/drive/go/Dunarii
O sa observam ca pentru prima varianta http://localhost/drive/go?strada=Dunarii maparea pe care noi am declarato nu functioneaza. Aceasta problema apare cand avem doi parametrii optionali.O solutie pentru aceasta problema este sa mai declaram o nou map route pentru cazul in care nici un parametrul optional nu este setat:
routes.MapRoute(
"Drive",
"drive/go/strada/numar"
controller = "Drive",
new
{
action = "Go",
});
0 comments:
Post a Comment