Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 19676|Respuesta: 2

[Consejos] Metadatos metamodelo MVC ViewData.ModelMetadata

[Copiar enlace]
Publicado en 28/6/2017 21:12:49 | | | |

ModelMetaData es un concepto importante en MVC, que incluye, pero no se limita a, el tipo de modelo, qué atributos contiene el modelo, qué tipos de atributos hay y qué características tienen los atributos.

ASP.NET MVC3.0 proporciona los metadatos predeterminados del modelo DataAnotacionesModeloMetadatos heredan de ModelMetadatos (además, el sistema proporciona el proveedor predeterminado de metadatos del modelo DataAnotacionesModeloMetadatosProveedor)

clase pública DataAnotacionesModelMetadatos : ModelMetadatos

Su constructor es el siguiente

públicoDatosAnotaModeloMetadatos(DatosAnotacionesModeloProveedorProveedorDatos, Tipo containerType, Func modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);


La clase DataAnnotationsModelMetadata tiene varias propiedades comúnmente utilizadas

Nombre de visualización, cadena de formato DisplayFormat

TemplateHint obtiene un valor para elegir qué plantilla usar


Para DisplayName, el método LabelFor<TModel, TValue> utiliza esta propiedad para generar el texto de la etiqueta.  SignificaUna vez definida la propiedad DispalyName en nuestro modelo, utiliza el método html.editForModel() en vistaMostrará automáticamente la etiqueta de etiqueta "<etiqueta para="username" > nombre </ para este atributo</label> del modelo.

  

[display( name="name",order=2)] //order (el atributo de orden cambia el orden de la página html
  nombre de usuario de cadena pública { get; set; }




Código fuente HTML:




La propiedad Display utilizada en el atributo nombre de usuario es la clase System.ComponentModel.DataAnnotations.DisplayAttribute, que proporciona una función genérica que permite especificar cadenas localizables para el tipo y miembro de la clase de división de entidad


También hay características de System.Web.MVC y System.ComponentModel.DataAnnotations, cuyos nombres son todas clases de características similares a XXXXAttribute, todas con ámbitos de uso específicos, algunas restringen propiedades del modelo, otras restringen Contrller, otras restringen Acciones, etc.


A continuación se muestra una lista de clases de características integradas y comúnmente utilizadas en estos dos espacios de nombres

1) Espacio System.Web.MVC

AceptarVerbosAtributo, AcciónFiltroAtributo, AcciónNombreAtributo, AsyncTimeOutAttribute, AuthorizeAttribute, BindAttribute,

HiddenInputAttribute

ActionFilterAttribute representa la clase base de todas las propiedades del filtro de acción

Clase HttpDeleteAttribute, que representa una propiedad utilizada para restringir el método de operación de modo que este solo maneje solicitudes HTTP DELETE

HttpGetAttribute, un atributo HttpPostAttribute que restringe el método de operación para procesar solo las solicitudes PUT

HttpPutAttribute representa una propiedad que se utiliza para restringir el método de operación de modo que el método solo maneje solicitudes HTTP PUT.


Ejemplo: ActionNameAttribute especifica el nombre real de la acción y su uso es el siguiente

[NombreAcción()]

Índice de Resultados de Acción pública ()


Ejemplo: La clase HiddenInputAttribute, que representa una propiedad que indica si un valor de propiedad o un valor de campo debe renderizarse como un elemento de entrada oculto




Anterior:[A] MySql.Data.MySqlClient.MySqlConnection no puede ser transmitida a [B]MySql.Data.MySqlC...
Próximo:ErrorTipo no capturado: No se puede establecer la propiedad 'no intrusiva' de indefinida
 Propietario| Publicado en 28/6/2017 21:14:05 |
 Propietario| Publicado en 1/12/2017 16:53:12 |


ViewData para obtener el código de propiedad:

ViewDataDictionary viewData2=nuevo ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Propiedades;
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com