viernes, 27 de diciembre de 2013

infraestructura de ASP.NET


En este tema se describe el diseño de las aplicaciones de datos dinámicos de ASP.NET y se incluye información sobre las carpetas y los archivos que se crean de forma predeterminada cuando se usa scaffolding de datos dinámicos.
Puede crear aplicaciones web de datos dinámicos de ASP.NET en Visual Studio 2010 usando las plantillas de proyecto de datos dinámicos de ASP.NET. Estas plantillas generan los controles de usuario, las plantillas y los archivos web ASP.NET que los datos dinámicos usan para crear una interfaz de usuario para trabajar con los datos.
Una aplicación web de datos dinámicos requiere un objeto MetaModel y un contexto de datos registrado. El contexto de datos puede ser una clase de LINQ to SQL (una instancia de la clase System.Data.Linq.DataContext) o una clase de ADO.NET Entity Framework. La clase de contexto de datos debe estar en la carpeta App_Code de la aplicación. Para obtener más información, vea Personalización del nivel de datos dinámicos de ASP.NET.
En la tabla siguiente se describen los archivos y carpetas que se crean en el nivel raíz de un sitio web de datos dinámicos de ASP.NET.
Archivo o carpeta
Descripción
Datos dinámicos
Contiene carpetas para controles personalizados y para páginas que muestran datos. Para obtener más información sobre las subcarpetas de la carpeta de datos dinámicos, veaEstructura de la carpeta DynamicData más adelante en este tema.
Default.aspx
Una página ASP.NET que muestra las tablas y vistas que están registradas en la instancia deMetaModel. Cada nombre de tabla se representa como un control HyperLink que muestra el contenido de la tabla seleccionada.
Global.asax
Contiene un método para registrar una instancia de la clase MetaModel y para agregar rutas al objeto RouteCollection.
Site.css
Una hoja de estilos en cascada que utilizan las plantillas de página y controles de los datos dinámicos.
Site.master
La página maestra del sitio. Default.aspx y las plantillas de página de los datos dinámicos utilizan la página maestra.

Archivo Global.asax

En un sitio web de datos dinámicos, el archivo Global.asax contiene un controlador para el eventoApplication_Start que se provoca cuando se inicia la aplicación web. En el controlador, se llama al métodoRegisterRoutes. El método RegisterRoutes contiene una instancia de MetaModel y una llamada con comentarios al método MetaModel.RegisterContext. Para habilitar las operaciones de datos dinámicos, debe habilitar el método RegisterContext y pasarle un contexto de datos válido, por ejemplo una instancia de DataContext o un contexto de ADO.NET Entity Framework.
De forma predeterminada, el archivo Global.asax de un sitio web de datos dinámicos llama al método Add de la clase RouteCollection para agregar enrutamiento a las plantillas de páginas List.aspx, Details.aspx, Edit.aspx e Insert.aspx para cada acción.
Puede cambiar el enrutamiento a las plantillas de página agregando y quitando las definiciones de ruta en el archivo Global.asax. (El archivo Global.asax incluye rutas alternativas predefinidas, pero están dentro de comentarios.) Para obtener más información, vea los comentarios del archivo Global.asax. Para obtener más información sobre las plantillas de páginas, vea Scaffolding de datos dinámicos de ASP.NET.
Para dejar todas las tablas de la base de datos visibles mediante los datos dinámicos, establezca la propiedadScaffoldAllTables del objeto ContextConfiguration en true. Como alternativa, puede establecer el atributoScaffoldTableAttribute en true en la clase parcial que representa la tabla que desea mostrar. El atributoScaffoldTableAttribute permite mostrar selectivamente las tablas mediante datos dinámicos. Para obtener un ejemplo sobre la forma de realizar esta operación, vea la información general sobre la claseScaffoldTableAttribute.

Archivo Site.master

El archivo Site.master es la página maestra del sitio web de datos dinámicos. La utilizan todas las plantillas de página de datos dinámicos. El archivo Site.master contiene un control System.Web.UI.ScriptManager cuya propiedad EnablePartialRendering está establecida en true. Para obtener más información, vea Páginas maestras ASP.NET.
NotaNota
Cuando la propiedad EnablePartialRendering se establece en true, las excepciones que genera el servidor de bases de datos producen un error en tiempo de ejecución en el explorador. Por ejemplo, si intenta actualizar una fila que tiene una restricción de columna definida en la base de datos, y los datos de la actualización infringen la restricción, el explorador mostrará un error en tiempo de ejecución. Si la propiedadEnablePartialRendering está establecida en false, el explorador no muestra un mensaje de excepción detallado. En su lugar, el explorador muestra un error HTTP 500 que indica que se ha producido un problema durante el procesamiento del servidor.
En la tabla siguiente se describen las subcarpetas de la carpeta DynamicData.
Archivo o carpeta
Descripción
Content
De forma predeterminada, contiene la carpeta Images y un control de usuario (GridViewPager.ascx). La carpeta Images contiene archivos gráficos que se utilizan como iconos del control de paginación.
CustomPages
Carpeta contenedora para plantillas de página personalizadas. Las plantillas de página personalizadas se utilizan para invalidar las plantillas de página que se definen en DynamicData\PageTemplates. Por ejemplo, si el contexto de datos contiene una tabla denominada Products, puede crear una carpeta DynamicData\CustomPages\Products y agregar páginas .aspx en la nueva carpeta que se utilizan para mostrar los datos de Products. Una manera fácil de comenzar es copiar las páginas de la carpeta DynamicData\PageTemplates en DynamicData\CustomPages\Products y, a continuación, modificar las plantillas. Para obtener más información sobre las plantillas de página personalizadas, vea Cómo: Personalizar el diseño de una tabla individual mediante una plantilla de página personalizada.
PageTemplates
Contiene plantillas de página que crean la interfaz de usuario para ver y editar datos. Para obtener más información, vea Scaffolding de datos dinámicos de ASP.NET.
EntityTemplates
Contiene plantillas de entidad que crean una interfaz de usuario de tabla para ver y editar datos. Para obtener más información, vea Scaffolding de datos dinámicos de ASP.NET.
FieldTemplates
Contiene controles de usuario que crean la interfaz de usuario para ver y editar campos de datos. Para obtener más información, vea Scaffolding de datos dinámicos de ASP.NET.
FilterTemplates
Contiene controles de usuario que crean la interfaz de usuario para filtrar filas de datos.Para obtener más información, vea Scaffolding de datos dinámicos de ASP.NET.

El archivo GridViewPager.ascx es un control de usuario que procede de WebControl. Se utiliza para mejorar la paginación cuando hay más de una página de datos para una tabla. El control de usuario GridViewPager.ascx se usa en las plantillas de página List.aspx y ListDetails.aspx.

No hay comentarios:

Publicar un comentario