2009-04-28 7 views
34

por defecto el motor de ASP.NET MVC busca en las siguientes carpetas para Ver páginas:ASP.NET MVC ¿Cómo especificar en qué carpeta residen las páginas de visualización?

  • /views/{} Controller_Name /{Action}.aspx
  • /Vistas/compartido/{Acción } .aspx

Sin embargo quiero poner algunos de mis Ver páginas como esta:

  • /Vistas/Espacio de nombres {}/{} Controller_Name /{Action}.aspx

¿Cómo se puede dejar que el motor busque esto?

+0

pena por reversión, pero lo que realmente necesita para mostrar la siguiente manera: -) – Ropstah

+0

arreglé la categoría demasiado lo siento. –

Respuesta

7

usted tiene que crear una clase derivada de la interfaz IViewEngine y registrar esta clase en caso Aplication_Start en Global.asax.cs Marque esta link text, pero hay algunas diferencias con 1.0

+0

Eso es bastante, me voy a saltear eso esta noche ;-). Thx para la información hasta ahora ... – Ropstah

+2

En realidad, lo he leído un poco y noté la clase VirtualPathProviderViewEngine. Eso es lo que estaba buscando. ¡Gracias! – Ropstah

59

Puede volver la vista colocados en subcarpetas personalizadas, desde la acción del controlador por, dando una ruta de vista completa en la declaración de devolución,

ej.

public ActionResult Create() 
{ 
    return View("~/Views/ProEnhance/Employee/Create.cshtml"); 
} 

aquí,

ProEnhance - definido por el usuario carpeta

Empleado - Nombre del controlador

Crea - la acción Nombre

+1

es posible hacer algo como esto? 'View.defaultLocation = "(" ~/Vistas/ProEnhance/"); ActionResult pública Crear() { retorno Ver();} ' – Muflix

+1

Cualquier desarrollador, que podría responder @Muflix? 'Pregunta s, La respuesta anterior (respuesta de Ofigen) publicada no responde la pregunta correctamente. Todavía estoy buscando esta pregunta también. –

Cuestiones relacionadas