2010-06-22 25 views
7

Una pregunta de seguimiento a: Aggregate on dictionary question.¿Cómo obtener la ruta actual en HtmlHelper?

Utilicé la funcionalidad Aggregate Linq pero quizás haya una manera mejor y más limpia de hacerlo.

¿Puedo obtener la ruta actual desde HtmlHelper? ¿O qué sugieres? Quiero hacer un cambio de idioma para cuando esté en una página/ruta y haga clic en otro idioma, se solicita la misma acción pero con otro idioma en la ruta.

Algo así como

ES/Home/Índice de y FR/Home/Índice de

Respuesta

10

Se puede recuperar fácilmente la ruta actual, o partes de él. Asumiendo que HtmlHelper es su contexto como usted dice, debería verse algo como esto:

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(); 
    // ... 
} 
Cuestiones relacionadas