Un desnudo ASP.NET ascx control tendría que ser agregado a una página de diseño personalizado. Esto limita un poco la utilidad del control ya que no se puede agregar "en cualquier lugar".
Tener un elemento web proporciona la flexibilidad del control que se agrega al sitio varias veces en diferentes ubicaciones o incluso varias veces en la misma página con diferentes propiedades.
Como se ha mencionado, es bueno usar CreateChildControls()
para crear los controles en la parte web y no es gran cosa codificar y empaquetar una parte web en una solución, haciendo que valga la pena el esfuerzo extra.
Las Webparts también pueden aceptar conexiones de webparts de "filtro" en la misma página, lo que brinda flexibilidad adicional a las partes web en comparación con los controles ascx de alojamiento en el sitio.
Cuando se trata de editores que usan el sitio, hace una gran diferencia para ellos poder agregar un elemento web en comparación con la edición de un diseño de página, publicarlo y luego crear páginas basadas en ese diseño de página, por lo tanto desde perspectiva de un editor de sitio, la diferencia en usabilidad es realmente bastante grande.
Recomiendo ir aún más lejos y codificar su webpart para usar un archivo xslt para mostrar los contenidos y hacer de la ubicación de ese xslt una propiedad configurable de la parte web. Este realmente se agrega a la flexibilidad de su control.
Mire la parte web de la vista de datos para ver cuánto se puede hacer con la incorporación de la representación personalizada.
por 'LoadChildControls()', quiere decir 'CreateChildControls()', ¿correcto? – vitule
Sí, hace tiempo. – Nat