none
Pregunta Novata RRS feed

  • Pregunta

  • Saludos

    Para que es MasterPage y Webpart!!!

    Adicionalmente puedo personalizar el objeto Login???

    Soy mas nuevo en asp.net q en vb.net :-P


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    martes, 25 de enero de 2011 19:39

Respuestas

  • Buenas!

    Creo que esas preguntas van más bien en el foro de ASP.NET que en el de MVC, pero bueno...

    1. Master Page: Página que se usa para definir el layout de tu sitio... Digamos que contiene la "parte común" a todas tus páginas web. La master contiene varios placeholders que es donde se incrustan el resto de páginas. De esa manera te permite tener el layout común (cabeceras, pies, menús siempre visibles) en un solo sitio (la master) e ir cambiando el contenido (la página que toca que se incrusta dentro del placeholder). Para más info: http://www.es-asp.net/tutoriales-asp-net/tutorial-61-84/creacion-de-un-diseno-mediante-master-pages.aspx
    2. Webpart: Controles ASP.NET que soportan un conjunto de operaciones específicas (tales como mostrarse en "modo edición" o en "modo lectura") y que permiten crear sitios que el propio usuario puede personalizar (agregando funcionalidades (webparts) o modificando (editando) las existentes). En este enlace hay un post al respecto: http://msmvps.com/blogs/haarongonzalez/archive/2006/10/06/157939.aspx

    Por objeto login entiendo que es el control de "login", no? Tiene varias propiedades que te permiten modificar algunos aspectos de su presentación y otros de su comportamiento: http://msdn.microsoft.com/en-us/library/ms178329.aspx#the_login_control

    Por supuesto puedes crearte tu propio control que haga uso de las API del membership provider (http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx) de ASP.NET y que sea exactamente como tu quieras.

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila miércoles, 26 de enero de 2011 13:33
    miércoles, 26 de enero de 2011 11:32
  • Ok :) Eso sí que es de MVC.

    Las vistas son páginas (lo pongo en cursiva) que lo que hacen simplemente es presentación: muestran datos y recogen datos (formularios). No tienen lógica de negocio (nunca, bajo ningún caso, jamás).

    Lo de ponerlo entre cursiva viene porque, a diferencia de webforms, donde la URL tiene la página (algo como /Products/List.aspx?productId=10) en MVC las URLs no apuntan nunca a las vistas. Son URLs tipo (/Products/List/10). Esa url es gestionada por un Controlador, quien interacciona con el Modelo (la lógica de negocio). El Modelo devuelve los datos (en ese caso del producto 10) y el Controlador se los manda a la Vista quien los muestra. Que vista? Lo decide el controlador. Fíjate que te he hablado de Modelo, de Vistas y de Controladores... MVC.

    A nivel técnico, las vistas se implementan con lo que llamamos un motor de vistas (view engine). En MVC3 vienen dos incluídos: El de webforms que permite usar la sintaxis clásica de webforms (<% %>) y el de Razor que permite usar la nueva sintaxis Razor. De todos modos aunque uses el motor de webforms y tus vistas sean archivos con extensiones .aspx, eso no los convierte en webforms: no hay controles, no hay viewstate, no hay nada que hace que un webform sea un webform.

    Si te interesa aprender asp.net mvc pásate por http://www.asp.net/mvc donde hay una serie de tutoriales iniciales que te servirán para introducirte en este framework!

    Saludos!

     


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    viernes, 28 de enero de 2011 7:03
  • Ehmm... sí, más o menos lo que dices está bien, aunque con matices...

    Si por "hacer a un lado la parte gráfica" te refieres a que no tenemos diseño RAD en MVC, estamos de acuerdo. Pero si te refieres a que las interfaces en MVC son "menos espectaculares" que webforms, entonces no: ambos frameworks pueden generar interfaces igual de espectaculares, pues ambos frameworks terminan creando html + javascript.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    sábado, 5 de febrero de 2011 15:01
  • Graficamente = arrastrando y soltando un control?

    Entonces NO. No tenemos toolbox, no tenemos diseño RAD en MVC.

    Si quieres añadir un botón... pues añade un botón HTML (<input type="button">)... :D

    El concepto de "control complejo" como una gridview, o un calenadrio, no está en MVC, aunque usando helpers y librerías como jQuery UI, nos acercamos bastante. Aunque eso sí: NUNCA de forma gráfica. NUNCA arrastrando un control y configurando propiedades en una "ventana de propiedades".

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:11
    • Desmarcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    sábado, 5 de febrero de 2011 15:06
  • Buenas!

    Para usar asp.net en entornos apache y linux tienes Mono (http://www.mono-project.com/ASP.NET). Aunque nunca lo he usado, así que te puedo decir más.

    Según este hilo (http://mono.1490590.n4.nabble.com/ASP-NET-MVC-3-on-Mono-2-8-1-td3219000.html) parece ser que Mono 2.8.1 no tiene soporte para MVC3 aunque están en ello (y de bien seguro que en breve lo tendrán).

    El roadmap de Mono lo tienes en: http://www.mono-project.com/Roadmap

    Un saludo!

     


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila domingo, 6 de febrero de 2011 1:35
    sábado, 5 de febrero de 2011 20:14
  • Nestor,

    Los controladores no reemplazan a tus capas. Los controladores se ubican en la capa de presentación (la aplicación web). Las otras capas (Entities, BusinessLayer y DataAccess) forman el "Modelo" que es la lógica de negocio de tu aplicación (y lo que esta necesita para funcionar, es decir los datos).

    La función de los controladores es recibir los datos del usuario (=> las request que hace el navegador), interaccionar con el modelo (obtener los datos, modificarlos, etc) y devolver los datos al usuario (=> devolver una vista).

    >Insisto en las Paginas de Vista: Son reemplazo de los webforms no me qdo muy claro xq he visto proyectos que usan campos de entrada en una viewspage :-S

    La diferencia entre un webform y una vista básicamente conceptual: un webform puede (y muchas veces tiene) lógica de negocio. Una vista jamás. Una vista se limita a mostrar datos o bien recogerlos y enviarlos tal cual a un controlador, quien los hará llegar al modelo. A nivel tecnológico, eso hace innecesario el code-behind y todo el modelo de eventos asociados a webforms. Y por supuesto, eso implica que NO hay webcontrols en MVC.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila jueves, 3 de febrero de 2011 19:53
    jueves, 3 de febrero de 2011 16:44

Todas las respuestas

  • Buenas!

    Creo que esas preguntas van más bien en el foro de ASP.NET que en el de MVC, pero bueno...

    1. Master Page: Página que se usa para definir el layout de tu sitio... Digamos que contiene la "parte común" a todas tus páginas web. La master contiene varios placeholders que es donde se incrustan el resto de páginas. De esa manera te permite tener el layout común (cabeceras, pies, menús siempre visibles) en un solo sitio (la master) e ir cambiando el contenido (la página que toca que se incrusta dentro del placeholder). Para más info: http://www.es-asp.net/tutoriales-asp-net/tutorial-61-84/creacion-de-un-diseno-mediante-master-pages.aspx
    2. Webpart: Controles ASP.NET que soportan un conjunto de operaciones específicas (tales como mostrarse en "modo edición" o en "modo lectura") y que permiten crear sitios que el propio usuario puede personalizar (agregando funcionalidades (webparts) o modificando (editando) las existentes). En este enlace hay un post al respecto: http://msmvps.com/blogs/haarongonzalez/archive/2006/10/06/157939.aspx

    Por objeto login entiendo que es el control de "login", no? Tiene varias propiedades que te permiten modificar algunos aspectos de su presentación y otros de su comportamiento: http://msdn.microsoft.com/en-us/library/ms178329.aspx#the_login_control

    Por supuesto puedes crearte tu propio control que haga uso de las API del membership provider (http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx) de ASP.NET y que sea exactamente como tu quieras.

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila miércoles, 26 de enero de 2011 13:33
    miércoles, 26 de enero de 2011 11:32
  • Otra consulta!!!

    ViewsPage = a WebForms?????


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 27 de enero de 2011 16:26
  • A que te refieres con ViewsPage?

    Te refieres quizá a Web Pages?

    Si es eso, tiene dos significados... el más antiguo y el más nuevo :)

    El antiguo: http://msdn.microsoft.com/en-us/library/fddycb06.aspx Donde sí: se refiere a Webforms.

    El nuevo: http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/06/introduction-to-asp-net-web-pages.aspx Donde se refieren al nuevo framework que incorpora WebMatrix, un framework super ligero para el desarrollo de pequeñas aplicaciones web.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    jueves, 27 de enero de 2011 16:32
  • Me refiero a Paginas de Vista :-D
    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 27 de enero de 2011 16:49
  • Ok :) Eso sí que es de MVC.

    Las vistas son páginas (lo pongo en cursiva) que lo que hacen simplemente es presentación: muestran datos y recogen datos (formularios). No tienen lógica de negocio (nunca, bajo ningún caso, jamás).

    Lo de ponerlo entre cursiva viene porque, a diferencia de webforms, donde la URL tiene la página (algo como /Products/List.aspx?productId=10) en MVC las URLs no apuntan nunca a las vistas. Son URLs tipo (/Products/List/10). Esa url es gestionada por un Controlador, quien interacciona con el Modelo (la lógica de negocio). El Modelo devuelve los datos (en ese caso del producto 10) y el Controlador se los manda a la Vista quien los muestra. Que vista? Lo decide el controlador. Fíjate que te he hablado de Modelo, de Vistas y de Controladores... MVC.

    A nivel técnico, las vistas se implementan con lo que llamamos un motor de vistas (view engine). En MVC3 vienen dos incluídos: El de webforms que permite usar la sintaxis clásica de webforms (<% %>) y el de Razor que permite usar la nueva sintaxis Razor. De todos modos aunque uses el motor de webforms y tus vistas sean archivos con extensiones .aspx, eso no los convierte en webforms: no hay controles, no hay viewstate, no hay nada que hace que un webform sea un webform.

    Si te interesa aprender asp.net mvc pásate por http://www.asp.net/mvc donde hay una serie de tutoriales iniciales que te servirán para introducirte en este framework!

    Saludos!

     


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    viernes, 28 de enero de 2011 7:03
  • Si la verdad necesito aprender MVC porque estoy en limbo socio! Ademas quiero migrar todos mis proyectos de Escritorio a lo Web.

    Estaba usando una Viewspage como Login.aspx :-S(burrazo no?)

    Bueno leere un poco de MVC, si antes manejaba mas o menos vb.net imagina ahora Asp.Net MVC, lo peor es que manejaba Asp.Net pero desde Editores Web(Dreamw...)

    No esta demás agradecerte por la orientacion!

    Millon Gracias!!!

    Si tienes msn ayudame con el para que puedas orientarme si es que tengo una dudilla mas adelante :-D

    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    viernes, 28 de enero de 2011 14:13
  • Hola Nestor!

    No, no tengo messenger... :)

    Pero por cualquier duda relacionada con MVC, ponla en el foro y entre todos te ayudaremos!

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    jueves, 3 de febrero de 2011 7:16
  • Saludos!

    El sistema lo estoy desarrollando con ASP.Net MVC pero aun tengo mis dudas :-(

    Mi Proyecto: http://cid-bb4fa4ec5f804415.office.live.com/self.aspx/.Public/Proyecto.png

    Controlador es = a mis capas?

    o Cual es la funcion principal del controlador

    Insisto en las Paginas de Vista: Son reemplazo de los webforms no me qdo muy claro xq he visto proyectos que usan campos de entrada en una viewspage :-S

    Gracias


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 3 de febrero de 2011 13:53
  • Saludos!

    El sistema lo estoy desarrollando con ASP.Net MVC pero aun tengo mis dudas :-(

    Mi Proyecto: http://cid-bb4fa4ec5f804415.office.live.com/self.aspx/.Public/Proyecto.png

    Controlador es = a mis capas?

    o Cual es la funcioAdn principal del controlador

    Insisto en las Paginas de Vista: Son reemplazo de los webforms no me qdo muy claro xq he visto proyectos que usan campos de entrada en una viewspage :-S

    Gracias


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    Adicional a esto la parte de Modelo creo q en mi caso esta de mas!!! Xq uso postgresql y aun no se han implementado creo yo para crear modelado de PostgreSQL en VS :-D

    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 3 de febrero de 2011 14:18
  • Nestor,

    Los controladores no reemplazan a tus capas. Los controladores se ubican en la capa de presentación (la aplicación web). Las otras capas (Entities, BusinessLayer y DataAccess) forman el "Modelo" que es la lógica de negocio de tu aplicación (y lo que esta necesita para funcionar, es decir los datos).

    La función de los controladores es recibir los datos del usuario (=> las request que hace el navegador), interaccionar con el modelo (obtener los datos, modificarlos, etc) y devolver los datos al usuario (=> devolver una vista).

    >Insisto en las Paginas de Vista: Son reemplazo de los webforms no me qdo muy claro xq he visto proyectos que usan campos de entrada en una viewspage :-S

    La diferencia entre un webform y una vista básicamente conceptual: un webform puede (y muchas veces tiene) lógica de negocio. Una vista jamás. Una vista se limita a mostrar datos o bien recogerlos y enviarlos tal cual a un controlador, quien los hará llegar al modelo. A nivel tecnológico, eso hace innecesario el code-behind y todo el modelo de eventos asociados a webforms. Y por supuesto, eso implica que NO hay webcontrols en MVC.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila jueves, 3 de febrero de 2011 19:53
    jueves, 3 de febrero de 2011 16:44
  • Eduard!!!

    Eres lo maximo chapulin!!!

    Ahora me quedo un poco mas claro!

    Entonces una Vista me sirve como para listar informacion mas o menos el estilo de como se manejaba un report web antes del crystal?

    Y bueno x otro lado seguire con mis webforms :-P

    Gracias


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 3 de febrero de 2011 19:53
  • Adicionalmente me descargue una diapositiva de tu blog!!! Muy interesante ;)
    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    jueves, 3 de febrero de 2011 20:11
  • Saludos!

     

    Razor o ASPX ???

     

    Q beneficios tiene sobre ASPX convencional el Razor?


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    sábado, 5 de febrero de 2011 5:16
  • Hola Nestor.

    Son dos sintaxis para hacer lo mismo. No hay ventajas claras de una versus la otra. Ambas permiten lo mismo, pues ambas son view engines de MVC. Razor apareció en MVC3 por lo que sólo es una opción si usas MVC3. Si usas MVC2 o anteriores no puedes usar Razor. Además esas no son las dos únicas opciones. Hay más view engines hechos por otra gente, como nahml o Spark... en este post de stackoverflow comparan algunos: http://stackoverflow.com/questions/1451319/asp-net-mvc-view-engine-comparison

    Para mi gusto Razor es ligeramente superior a aspx, porque:

    1. La sintaxis es mucho más clara
    2. Los templates le dan una potencia adicional que es brutal

    Compara si quieres esas dos sintaxis, que hacen lo mismo. La primera sería aspx:

    <table>
     <% foreach (var item in Model) { %>
       <tr>
        <td><%: item.Nombre %></td>
        <td><%: item.Precio %></td>
       </tr>
      <% } %>
    </table>
    
    

    Con esa otra (que sería Razor):

    <table>
     @foreach (var item in Model) {
       <tr>
        <td>@item.Nombre</td>
        <td>@item.Precio</td>
       </tr>
      }
    </table>
    
    

    Ambas hacen lo mismo: iterar por los elementos del modelo y crear una tabla. Fíjate la cantidad de <% y %> que hay en la sintaxis aspx. Y fíjate en Razor: sólo tres arrobas :)

    Un saludo!

     


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Editado eduard tomàsMVP sábado, 5 de febrero de 2011 10:33 Error tonto (ponía .asmx en algún sitio :p)
    sábado, 5 de febrero de 2011 10:32
  • Saludos Eduard!!!

    Muchisimas Gracias Amigo.

    Corrigeme si me equivoco!!!!

     

    MVC es una arquitectura de desarrollo web, que se basa en Modelo-Vista-Controlador, haciendo que el desarrollador haga a un lado la parte grafica y explote mas conocimientos HTML, Javascript, JQuery.. etc etc etc???

     


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    sábado, 5 de febrero de 2011 14:53
  • Ehmm... sí, más o menos lo que dices está bien, aunque con matices...

    Si por "hacer a un lado la parte gráfica" te refieres a que no tenemos diseño RAD en MVC, estamos de acuerdo. Pero si te refieres a que las interfaces en MVC son "menos espectaculares" que webforms, entonces no: ambos frameworks pueden generar interfaces igual de espectaculares, pues ambos frameworks terminan creando html + javascript.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    sábado, 5 de febrero de 2011 15:01
  • Gracias Nuevamente!

    Ahi te va otra :-P En las ViewsPage puedo insertar gráficamente textbox, buttons, ertc etc etc


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    sábado, 5 de febrero de 2011 15:03
  • Graficamente = arrastrando y soltando un control?

    Entonces NO. No tenemos toolbox, no tenemos diseño RAD en MVC.

    Si quieres añadir un botón... pues añade un botón HTML (<input type="button">)... :D

    El concepto de "control complejo" como una gridview, o un calenadrio, no está en MVC, aunque usando helpers y librerías como jQuery UI, nos acercamos bastante. Aunque eso sí: NUNCA de forma gráfica. NUNCA arrastrando un control y configurando propiedades en una "ventana de propiedades".

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:11
    • Desmarcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    • Marcado como respuesta Chentico Davila sábado, 5 de febrero de 2011 15:16
    sábado, 5 de febrero de 2011 15:06
  • Pues mi estimado Eduard otra vez millon gracias

    Creo que ahora si esta mas claro el panorama MVC 2-3, y por ende creo que empezare hacer mi aplicación que la estaba haciendo en vb.net escritorio a hacerla en web asp.net mvc 3.

     

    Quizá esta pregunta sea de otro hilo pero me gustaria consultarte si sabes de alguna tecnología que me permita correr ASP.Net 4 en Apache o linux en general!!!

     

    Saludos


    Nestor Davila Muñoz
    Junior Developer (VB.Net-PostgreSQL-SQLite-ASP.Net)
    "No es mas grande aquel que nunca falla, si no el que nunca se da por vencido"
    sábado, 5 de febrero de 2011 15:16
  • Buenas!

    Para usar asp.net en entornos apache y linux tienes Mono (http://www.mono-project.com/ASP.NET). Aunque nunca lo he usado, así que te puedo decir más.

    Según este hilo (http://mono.1490590.n4.nabble.com/ASP-NET-MVC-3-on-Mono-2-8-1-td3219000.html) parece ser que Mono 2.8.1 no tiene soporte para MVC3 aunque están en ello (y de bien seguro que en breve lo tendrán).

    El roadmap de Mono lo tienes en: http://www.mono-project.com/Roadmap

    Un saludo!

     


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Chentico Davila domingo, 6 de febrero de 2011 1:35
    sábado, 5 de febrero de 2011 20:14