Tengo una vista parcial (control) que se utiliza en varias páginas de visualización, y necesito devolver el nombre de la vista actual al controlador, por lo que si hay, p. errores de validación, puedo volver a dibujar la vista original.¿Recuperar el nombre de vista actual en ASP.NET MVC?
Una manera solución de hacerlo sería (en los métodos de controlador)
var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
y luego en el propio parcial, la haré tan
<input type="hidden" name="viewName"
value="<%=Html.Encode(ViewData["viewName"])%>" />
La pregunta es - ¿hay alguna propiedad o sintaxis que puedo usar para recuperar esto directamente en lugar de configurarlo desde el controlador? He intentado lo obvio:
<input type="hidden" name="viewName"
value="<%=Html.Encode(this.Name)%>" />
pero esto no funciona. ¿Que me estoy perdiendo aqui?
Gracias.
Esto es un poco stumper. Pensé que debería ser posible ya que puedes obtener el nombre de la vista del resultado de la acción durante la prueba del controlador ... pero no tengo claro cómo recuperarlo desde la propia Vista. Esperando una respuesta ... – womp