2010-08-22 59 views
12

Tengo mi aplicación ASP.NET MVC 2 dividida en algunas áreas. Uno de ellos es un área predeterminada en el catálogo principal, y el otro es un área Account en el catálogo de Áreas. Ahora, el problema es que necesito usar la misma vista en los controladores de ambas áreas.Devolver una vista desde un área diferente

Si estuvieran en la misma área, solo return View("ViewName"), pero ¿qué puedo hacer para devolver una vista desde mi área predeterminada en un controlador desde mi área Account? ¿Algunas ideas?

+0

Solo una nota, puede pegar esta vista en la carpeta '~/Views/Shared' y simplemente llamar a' return View ("ViewName") 'desde cualquier controlador/área. – Omar

Respuesta

27

puede especificar la ubicación relativa de la vista:

return View("~/Views/YourArea/YourController/YourView.aspx"); 

Pero cuando una opinión es compartida entre múltiples áreas, recomiendo que utilice la carpeta ~/Views/Shared que sirve mejor este propósito.

+0

Gracias Darin - Voy a probar este. –

4

Ésta es una cuestión de edad, pero sigue siendo un tema importante en la MVC, creo, así que aquí es cómo lo resuelvo en forma seca que le permite cambiar fácilmente la ruta del servidor, y tienen todas sus acciones dependientes se actualizan automáticamente:

public class FooController : Controller 
{ 

    private ActionResult FooView(string name, string extension = "cshtml") { 
     return View("~/Areas/Bar/Views/Foo/" + name + "." + extension); } 
    } 


    public ActionResult SomeAction(){ 

     return FooView("AreaSpecificViewName"); 

    } 

    public ActionResult SomeOtherAction(){ 

     return FooView("AnotherAreaSpecificViewName", "aspx"); 

    } 

} 

Esta es limpio, ya que por defecto en la afeitadora (.cshtml) Ver archivos, pero se pueden establecer de forma explícita mediante el suministro del segundo parámetro, como se ve en SomeOtherAction().

Es simple pero útil, especialmente durante el desarrollo cuando la ruta de su Área puede cambiar o algo así.

Espero que ayude a alguien.

Cuestiones relacionadas