2010-06-22 19 views
7

Una domanda successiva a: Aggregate on dictionary question.Come ottenere il percorso corrente in HtmlHelper?

Ho usato la funzionalità di aggregazione di Linq ma forse c'è un modo migliore, più pulito, per farlo?

È possibile ottenere il percorso corrente da HtmlHelper? O cosa suggerisci? Voglio fare un cambio di lingua in modo tale che quando sono su una pagina/percorso e clic su un'altra lingua viene richiesta la stessa azione ma con un'altra lingua nella rotta.

Qualcosa di simile

IT/Home/Indice e FR/Home/Indice

risposta

10

Si può facilmente recuperare il percorso corrente, o pezzi di esso. Supponendo che HtmlHelper sia il tuo contesto come dici tu, dovrebbe assomigliare a questo:

public static MvcHtmlString SomeHelper(this HtmlHelper html) { 
    RouteBase route = html.ViewContext.RouteData.Route; 
    string action = html.ViewContext.RouteData.Values["action"].ToString(); 
    string controller = html.ViewContext.RouteData.Values["controller"].ToString(); 
    // ... 
} 
Problemi correlati