He estado usando ASP.NET (C#) durante los últimos dos años. He aprendido mucho, pero aún queda mucho por aprender :)Uso de los controles web del usuario en lugar de formularios web
He usado MasterPages, 'controles de usuario Web' para cosas como encabezados, pies de página de navegación, etc.
Una cosa que tengo nunca verdad entendido es la práctica de usar 'Controles de usuario web' para su contenido y lógica;
Home.aspx ------ Home.ascx
AboutUs.aspx ----- AboutUs.ascx
Ordering.aspx ---- Ordering.acsx
He estado trabajando con algunos proyectos en los últimos meses que utilizan esta estructura. Soy consciente de que esto es realmente una práctica común, pero realmente no entiendo todos los beneficios.
Recuerdo cuando probé este enfoque antes y terminé teniendo terribles problemas de estado de visualización con controles como Gridview ... una vez que saqué toda la lógica y la puse en una página .aspx todo funcionó bien.
Me doy cuenta ahora de que tal vez necesitaba agregar Gridview a la colección viewstate ... pero esto solo refuerza mi dificultad para comprender por qué se usa este enfoque, dado el problema del estado de vista.
Entiendo completamente las ventajas de 'Web User Controls' en relación con cosas como encabezados, menús, pies de página, etc. en cualquier lugar que implique duplicación pero los proyectos que he visto tienen páginas/controles que son bastante específicos - en en otras palabras, es poco probable que se reutilice en otro lugar: la página aspx solo contiene un control (.ascx) con el contenido y la lógica, y solo se usará en esa página, en ningún otro lugar.
Ignorando 'Code Reuse', ¿qué otros beneficios ofrece este enfoque?
Brian, colocar algo así como un formulario de comentarios en un control web tiene mucho sentido, estoy a favor de colocar widgets como este en los controles ... tal vez estos proyectos que he visto donde toda la página está anidada dentro de un control web, ¿no es la forma de hacer las cosas después de todo? .... si Home.aspx contuviera múltiples controles como 'HomepageSlideshow.ascx', 'TwitterFeed.ascx' esto tendría mucho más sentido. – Dal
@Dal, exactamente. Aunque técnicamente diferente, una página y un control de usuario web esencialmente se comportan de manera muy similar y es necesario que exista un propósito real para que el enfoque que describa se haya tomado. Sin más detalles, no hay un beneficio obvio –