Domanda

Esiste una classe nel framework MVC ASP.NET che rappresenta un nome controller e un nome azione?

Sto scrivendo un metodo che restituirà una raccolta di URL e desidero che vengano restituiti come oggetti che contengono una proprietà "Controller" e "Azione" o qualcosa di simile.

Questo perché a volte dovrò isolare solo il nome del controller o solo il nome dell'azione.

C'è l'oggetto Route, ma sembra troppo pesante per quello che sto cercando di fare.

Esiste un'astrazione più semplice in ASP.NET MVC?

È stato utile?

Soluzione

Esiste una classe Controller Base non un nome, un nome di azione è semplicemente una stringa che ActionInvoker utilizzerà per trovare l'azione corretta tramite la riflessione.

Penso che dovrai usare Dizionario dei valori di rotta delle coppie chiave / valore per rappresentare la rotta.

RouteValueDictionary myValues = new RouteValueDictionary();
myValues.Add("Controller", "myController");

È possibile utilizzare un dizionario normale e quindi convertirlo in codice in un RouteValueDictionary se non si desidera / non è necessario avere accesso allo spazio dei nomi di routing.

In questo approccio è quindi possibile utilizzare le chiavi di un dizionario standard o del dizionario routeValue per eseguire l'isolamento del controller o dell'azione.

String ControlString = myValues["Controller"] 

Quindi fai quello che vuoi con esso. Forse usa le costanti per le chiavi a cui desideri accedere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top