Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19676|Resposta: 2

[Gorjetas] Metadados metamodelo MVC ViewData.ModelMetadata

[Copiar link]
Publicado em 28/06/2017 21:12:49 | | | |

ModelMetaData é um conceito importante no MVC, incluindo, mas não se limitando a, o tipo de modelo, quais atributos o modelo contém, quais tipos de atributos existem e quais características estão presentes nesses attributos.

ASP.NET MVC3.0 fornece os metadados padrão do modelo DataAnotaçõesMetadados herda do ModelMetadata (além disso, o sistema fornece o provedor padrão de metadados do modelo DataAnotaçõesProvedorModeloMetadados)

classe pública DataAnotaçõesMetadados : ModelMetadados

Seu construtor é o seguinte

Public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provedor, Tipo containerType, Func modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);


A classe DataAnnotationsModelMetadata possui várias propriedades comumente usadas

Nome de exibição DisplayName, string de formato DisplayFormatString

TemplateHint recebe um valor para escolher qual template usar


Para DisplayName, o método LabelFor<TModel, TValue> usa essa propriedade para gerar o texto do rótulo.  SignificaUma vez que a propriedade DispalyName esteja definida em nosso modelo, use o método html.editForModel() em visualizaçãoEle exibirá automaticamente a tag de etiqueta "<etiqueta para="nome de usuário" > nome </ para esse atributo</label> do modelo.

  

[display( name="name",order=2)] //atributo order altera a ordem da página html
  nome de usuário da string pública { get; set; }




Código-fonte HTML:




A propriedade Display usada no atributo nome de usuário é a classe System.ComponentModel.DataAnnotations.DisplayAttribute, que oferece um recurso genérico que permite especificar strings localizáveis para o tipo e membro da classe de divisão da entidade


Também há recursos do System.Web.MVC e System.ComponentModel.DataAnnotations, cujos nomes são todas classes de características semelhantes ao XXXXAttribute, todas com escopos de uso específicos, algumas restringem propriedades do modelo, outras restringem Contrller, outras restringem Ações, etc.


A seguir está uma lista de classes de características embutidas e comumente usadas nesses dois namespaces

1) Espaço System.Web.MVC

AceitarVerbosAtributo, AçãoFiltroAtributo, AçãoNomeAtributo, AsyncTimeOutAttribute, AutorizizeAttribute, VincularAtributo,

HiddenInputAttribute

ActionFilterAttribute representa a classe base de todas as propriedades do filtro de ação

HttpDeleteAttribute, que representa uma propriedade usada para restringir o método operacional de modo que o método apenas lide com solicitações HTTP DELETE

HttpGetAttribute, um atributo HttpPostAttribute que restringe o método de operação a processar apenas solicitações PUT

HttpPutAttribute representa uma propriedade usada para restringir o método de operação para que o método apenas lide com requisições HTTP PUT.


Exemplo: ActionNameAttribute especifica o nome real da ação da ação, e o uso é o seguinte

[NomeAção()]

Índice de Resultados de Ação pública ()


Exemplo: A classe HiddenInputAttribute, que representa uma propriedade que indica se um valor de propriedade ou valor de campo deve ser renderizado como um elemento de entrada oculto




Anterior:[A] MySql.Data.MySqlClient.MySqlConnection não pode ser transmitido para [B]MySql.Data.MySqlC...
Próximo:Uncaught TypeError: Não é possível definir a propriedade 'unobusive' de undefined
 Senhorio| Publicado em 28/06/2017 21:14:05 |
ModelMetadata



 Senhorio| Publicado em 01/12/2017 16:53:12 |


ViewData para obter o código da propriedade:

ViewDataDictionary viewData2=novo ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com