Carga dinámica de plantillas en ASP.NET
La función de plantillas se usa a menudo en ASP NET. Por ejemplo, el uso de plantillas en controles como cuadrícula de datos, repetidor de lista de datos, etc. mejorará enormemente sus funciones. En el pasado, generalmente configuramos los controles. diseñando el programa. ¿Cómo se ve una plantilla? Pero a veces es posible que necesitemos cargar plantillas dinámicamente. Por ejemplo, cuando necesita que el estilo de la interfaz de su aplicación cambie según las necesidades de los usuarios, necesita la función de cargar plantillas dinámicamente. Pero cabe señalar que no todos los controles web admiten la función de plantilla, y debe prestar atención a qué controles admiten qué funciones de la plantilla. Aquí hay una breve lista de algunos controles que admiten la función de plantilla
.Las plantillas admitidas por el control Repetidor son
HeaderTemplate FooterTemplate ItemTemplate AlternatingItemTemplate SeperatorTemplate
Las plantillas admitidas por el control Datelist son
HeaderTemplate FooterTemplate ItemTemplate AlternatingItemTemplate SeparatorTemplate SelectedItemTemplate EditItemTemplate
El control Datagrid admite Las plantillas son
HeaderTemplate FooterTemplate ItemTemplate EditItemTemplate Pager
A continuación usaré la plantilla de forma dinámica cargar el control de lista de datos para explicar cómo cargar dinámicamente la plantilla
Primero, comprendamos la carga dinámica de plantillas. El principio es que existe una clase de control de plantilla en NET. Esta clase es la clase base de la página. y clases de control de usuario. También define las funciones básicas de la página y las clases de control de usuario. Esta clase proporciona dos métodos, loadcontrol y loadtemplate. El método Loadcontrol carga controles desde archivos externos y devuelve el objeto de clase de control de usuario y el método loadtemplate carga la plantilla desde el externo. archivo y devuelve el objeto Itemplate
Solo hay un parámetro en el método Loadtemplate. El valor del parámetro es la ruta del archivo de plantilla externo y devuelve el objeto itemplate. El control de lista de datos proporciona una serie de propiedades. Se pueden configurar varias plantillas, incluidas AlternatingItemTemplate EditItemTemplate FooterTemplate HeaderTemplate ItemTemplate SelectedItemTemplate y SeperatorTemplate Verá la introducción relevante a continuación
Luego comenzamos a presentar ejemplos. En el programa de muestra, utilizamos la creación dinámica de tablas de datos y. Se crean columnas de datos y la creación de datos se encapsula en una clase Db para que los lectores puedan revisar más a fondo cómo crear tablas de datos dinámicamente
Las columnas de datos no se extraen de la base de datos (por supuesto, también puede usar las tradicionales método de lectura para obtener la base de datos)
public class DB{
public DB()
{ }
/// mmary> /// El método devuelve un objeto DataSet lleno de datos /// </summary> DataSet público estático GetDataSet() { //Crear conjunto de datos y tabla de datos DataSet ds = new DataSet(); Tabla DataTable = new DataTable( Registros ); /p> DataColumn col; //Agregar una columna col = new DataColumn(); col DataType = Tipo de sistema GetType( System Int ); col NombreDeColumna = ID; col Sólo lectura = verdadero; col Único = verdadero Columnas de tabla Agregar( col); col = new DataColumn(); col DataType = Tipo de sistema (Cadena del sistema); col ColumnName = Nombre; > col AutoIncrement = false; col Caption = Nombre; col ReadOnly = false col Único = false; p>Columnas de tabla Add(col); col = new DataColumn(); col DataType = Tipo de sistema GetType(System StringName); = Dirección; col AutoIncrement = false; col Caption = Dirección col ReadOnly = false col Único = falso; ; Columnas de tabla Add(col); //Agregar un registro Fila de datos = tabla NewRow(); [ ID ] = ; fila[ Nombre ] = Melanie Giard fila[ Dirección ] = rd Street Park Road NY Ciudad tabla Filas Agregar ; (fila); fila = tabla NewRow(); fila[ ID ] = fila[ Nombre ] = Puneet Nehra ; fila[Dirección] = rd Blvd As hok Vihar Nueva Delhi; filas de tabla Agregar(fila); fila = tabla NewRow(); fila[ Nombre ] = Raj Mehta; fila[ Dirección ] = Nagrath Chowk Jabalpur filas de tabla Agregar(fila fila); tabla NewRow(); fila[ ID ] = fila[ Nombre ] = Max Muller fila[ Dirección ] = North Street Hernigton Rusia ; table Rows Add(row); // Agregar DataTable al conjunto de datos ds Tables Add(table); Return DataSet return ds; }} A continuación, primero creamos varios archivos de plantilla. Primero creamos dos conjuntos de archivos de plantilla. Los archivos contienen respectivamente cuatro archivos de plantilla, incluido el elemento de encabezado y pie de página, y los guarda como archivos ascx. De esta manera, tenemos dos tipos de plantillas de estilo. Cada tipo de plantilla de estilo tiene su propia subplantilla de elemento de encabezado y pie de página. de los archivos de plantilla de elementos y los demás Similar a <@ Control Language= VB ><FONT face= verdana color= green size= >. <b>ID: </b> <# Evaluación de DataBinder(CType(Container DataListItem) DataItem ID ) ><b>Name: </b><# DataBinder Eval(CType(Container DataListItem) DataItem Nombre ) ><br>< b>Dirección: </b>< # DataBinder Eval(CType(Container DataListItem) DataItem Address ) ><p></FONT> La programación .NET se proporciona de forma gratuita. autor.