none
Crear Areas con proyectos externos RRS feed

  • Pregunta

  • Hola, tengo una aplicación en ASP.NET MVC en c# VS2010 y quiero agregarle un proyecto como un area, en este proyecto de prueba que lo llamo "hijo" elimine el Global.asax, scripts, etc y deje un controlador y una vista que lo unico que hace es mostrar un texto. Además, le agregue una clase Route.cs para registrar la ruta. Cuando llamo desde la aplicacion "principal" a esa vista que esta en la aplicacion "Hijo" desde el Home me tira este error:

    The view 'Index' or its master was not found. The following locations were searched:
    ~/Areas/Hijo/Views/Test/Index.aspx  ....

    Esto NO me ocurre cuando trabajo con un area que estan dentro de mi proyecto, en este caso no tengo problemas. Pero ahora necesito crear un proyecto externo y no puedo solucionar este problema. 

    • Editado la_Puchis martes, 22 de junio de 2010 14:51
    martes, 22 de junio de 2010 14:12

Todas las respuestas

  • Hola,

    podrías incluir la ruta registrada, el nombre de la vista y la ruta exacta con la que se produce el error?

    Saludos.

    martes, 22 de junio de 2010 14:19
  •  

    Hola, te paso los datos:

    Nombre de la Vista: Index . Controllador: DemoController

     

     

    public override string AreaName

    {

     

    get { return "Hijo"; } }

     

     

    public override void RegisterArea(AreaRegistrationContext context)

    {

    context.MapRoute(

     

    "Hijo","Hijo/{controller}/{action}/{id}",new { controller="DemoController", action = "Index", id = UrlParameter.Optional } );

    } } }

     

    y desde la master de mi proyecto "Principal" lo estoy llamando asi:

    <

     

     

    li><%= Html.ActionLink("Demo", "Index", "DemoController", new { area = "Hijo" }, null)%></li>

    Muchas gracias!!

    martes, 22 de junio de 2010 14:44
  • Holas,

    las áreas en MVC 2 han salido un poco "descafeinadas". En particular, las áreas en proyectos externos no están cubiertas directamente por la plataforma; hubo un intento de introducir esta característica en betas y versiones preliminares, pero al final no cuajó la cosa.

    Si tienes mucho interés, siempre podrías copiar las vistas del proyecto hijo sobre la carpeta areas del proyecto padre, y hacer lo mismo con el resto de recursos necesarios. Esta tarea puedes implementarla como parte de proceso de construcción de la solución para facilitarte el tema.

    También podrías echar un vistazo a la solución "Portable Areas" del proyecto MvcContrib, con un enfoque menos artesanal, basado en la inclusión de vistas como recurso incrustado de los ensamblados y utilizables casi directamente. En este enlace encontrarás una serie de artículos interesantes sobre las áreas portables.

    Saludos.


    José M. Aguilar
    Variable not found
    martes, 22 de junio de 2010 14:56
  • Hola,

    prueba de realizar la llamada eliminando "Controller" del parámetro "DemoController":

    <%= Html.ActionLink("Demo", "Index", "Demo", new { area = "Hijo" }, null)%>

    De todos modos, parece que hay alguna incongruencia entre tu Controller Demo y el mensaje de error referenciando a Test.

    Espero que esto pueda ayudarte,

    JAReyes.

    martes, 22 de junio de 2010 15:00
  • Hola la_Puchis,

    Como te fue?

    Conseguiste finalmente solventar tu problema?

    Saludos.

    lunes, 28 de junio de 2010 7:44
  • Hola de nuevo,

    Como te fue la_Puchis? Pudiste solventar finalmente tu problema?

    Quizás sería de ayuda para otros usuarios que se puedan encontar en tu misma situación si compartieras tus conclusiones actuales en el foro.

    Saludos,

    JAReyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solucion de esta pregunta te ha sido útil.
    sábado, 20 de noviembre de 2010 13:00