desidero mappare http://localhost/Guid-goes-here a ResellerController
e fuoco Index
azione di quel controllore solo quando Guid-goes-here
è non vuoto GUID.routing al controllore con una richiesta, non vuota parametro GUID
mia tabella di percorso è simile al seguente:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Reseller",
"{id}",
new { controller = "Reseller", action = "Index", id = Guid.Empty }
// We can mark parameters as UrlParameter.Optional, but how to make it required?
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
L'azione sul ResellerController
assomiglia a questo:
public ActionResult Index(Guid id)
{
// do some stuff with non-empty guid here
}
Una volta che l'applicazione è stata avviata, la navigazione verso http://localhost percorsi me al ResellerController
con la guida vuota come argomento per il parametro id
dell'azione .
Si può fare questo con un vincolo del percorso, ma ti consiglio vivamente di utilizzare URL più sensibili se puoi in modo che il percorso verso i rivenditori sia simile a "/ reseller/{guid}". Il vincolo del percorso dovrà analizzare tutte le richieste HTTP per vedere se sono un GUID valido. – Cymen
@Cymen yes ma ommiting/reseller/octet dall'URL è richiesto nel mio scenario. – Dariusz