asp.net-mvc - solo - validar campos formulario mvc
ASPNET MVC: ¿forma de descubrir la ruta del referer(sic)? (1)
Tengo algunas acciones POST en mi controlador que son afectadas por un par de acciones GET. Cuando la validación falla, quiero renderizar la vista de la acción de la que proviene el POST. Por ejemplo:
~ / cuentas POST a ~ / accounts / disable - renderiza la vista de "índice" en el error de validación ~ / accounts / profile POSTs a ~ / accounts / disable - renderiza la vista de "perfil" en el error de validación
Puedo sacar el referer (sic) de las variables del servidor y analizarlo para descubrir la acción, pero esperaba que hubiera algo incorporado que hiciera lo que quisiera, o que alguien más ya haya hecho esto y que yo pueda copiar de .
Parece que la propiedad ControllerContext.RouteData solo tiene información sobre la solicitud actual, no la solicitud de referencia (sic) ...?
Estoy en ASP.NET MVC beta.
MVC Contrib incluye un método de extensión en String para obtener una ruta (específicamente, aquí ). En teoría, esto te dejaría hacer
RouteData referrer = Request.UrlReferrer.PathAndQuery.Route();
o, por supuesto, envuelva eso en un método de extensión en HttpRequest para que pueda hacer
RouteData referrer = Request.ReferrerRoute();
Sin embargo, está destinado a pruebas unitarias y utiliza Rhino Mocks para crear la HttpContextBase que requiere GetRouteData (). La buena noticia es que parece salirse con la suya burlándose de muy poco, por lo que es posible que puedas evitar Rhino Mocks si creas tu propia clase FakeHttpContext derivada de HttpContextBase.