none
No se puede encontrar 'MainContent' en las paginas maestras actuales RRS feed

  • Pregunta

  • Hola, tengo un problema en una vista , estoy usando MVC3

    La vista se llama ListaEmpleados y este es el codigo que tengo en la vista:

    <%@ Page title="" Language="C#" MasterPageFile ="~/Views/Shared/Site1.Master"  Inherits="System.Web.Mvc.ViewPage<dynamics>" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
       ListaEmpleados
    </asp:Content>

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

        <h2>ListaEmpleados</h2>
        <table>
            <tr><td><h1>Nombre</h1></td></tr>
            <%foreach (MvcApplication1.Models.Empleados e in (List<MvcApplication1.Models.Empleados>)Model)
              { %>
              <tr><td>= e.empleados</td></tr>
              <% } %>           
        </table>
    </asp:Content>

    Y EL ERROR QUE ME DA ES EL DEL TITULO: No se puede encontrar 'MainContent'  en las paginas maestras actuales.

    tengo la pagina Master creada

    jueves, 14 de junio de 2012 19:49

Respuestas

  • Hola, Rodrigo,

    la barra que comentas es simplemente el (auto)cierre de la etiqueta. Las etiquetas las puedes cerrar <asi></asi> o <asi /> (esta última opción es válida sólo cuando el elemento no tiene contenido).

    De todas formas, si no quieres liarte mucho, lo más sencillo es que crees un nuevo proyecto MVC desde cero y que estudies el código del proyecto generado por defecto, que incluye una master y vistas similares a la que estás intentando echar a andar.

    Un saludo.


    José M. Aguilar
    Variable not found

    • Marcado como respuesta Rodrigo Ibarra lunes, 18 de junio de 2012 15:31
    sábado, 16 de junio de 2012 10:46

Todas las respuestas

  • Hola!

    El error indica que no existe el ContentPlaceHolder con identificador "MainContent" definido en la página maestra que estás utilizando (site1.master).

    Puedes definirlo así en la master:

    ...
    <html>
      <body>    
        ...   
        <asp:ContentPlaceHolder ID="MainContent" runat="server" />   
        ...
       </body>
    </html>

    Ya en tiempo de ejecución, en el lugar donde hayas insertado este ContentPlaceHolder aparecerá tu lista de empleados, que es el contenido que has insertado en la vista el interior del tag <asp:Content> con el ContentPlaceHolderID="MainContent".

    Suerte.


    José M. Aguilar
    Variable not found

    viernes, 15 de junio de 2012 6:15
  • Hola Jose, en realidad me sigue sin funcionar.. pero no te preocupes soy muy nuevo y seguro que es por eso.

    Lo unico que difiere de mi codigo el ejemplo que me pasaste es el / del runar="server"=.?


    Rodrigo Ibarra

    viernes, 15 de junio de 2012 14:24
  • Hola, Rodrigo,

    la barra que comentas es simplemente el (auto)cierre de la etiqueta. Las etiquetas las puedes cerrar <asi></asi> o <asi /> (esta última opción es válida sólo cuando el elemento no tiene contenido).

    De todas formas, si no quieres liarte mucho, lo más sencillo es que crees un nuevo proyecto MVC desde cero y que estudies el código del proyecto generado por defecto, que incluye una master y vistas similares a la que estás intentando echar a andar.

    Un saludo.


    José M. Aguilar
    Variable not found

    • Marcado como respuesta Rodrigo Ibarra lunes, 18 de junio de 2012 15:31
    sábado, 16 de junio de 2012 10:46
  • Muchas gracias, Jose.. lo voy a hacer como me dices.. gracias

    Rodrigo Ibarra

    lunes, 18 de junio de 2012 15:31