Compreender os programadores de etiquetas e os processadores de páginas

Concluído

Na unidade anterior, criou uma Página do Razor que apresenta uma lista de pizzas. Utilizou o @ símbolo para alternar entre HTML e C#. Nesta unidade, irá aprender sobre os programadores de etiquetas. Os auxiliares de etiquetas são um tipo especial de elemento HTML que pode conter código C#. Também irá saber mais sobre os processadores de páginas. Os processadores de páginas são métodos que processam pedidos do browser. Irá utilizar processadores de páginas na unidade seguinte para adicionar e eliminar pizzas.

Auxiliares de etiquetas

Os auxiliares de etiquetas são utilizados para abordar as ineficiências da mudança de contexto entre HTML e C#. A maioria dos auxiliares de Etiquetas incorporados da ASP.NET Core expandem os elementos HTML padrão. Os auxiliares de etiquetas fornecem atributos adicionais do lado do servidor para elementos HTML, tornando os elementos mais robustos.

Existem quatro auxiliares de etiquetas que deve conhecer para este projeto: Parcial, Etiqueta, Entrada e Mensagem de Resumo de Validação.

Auxiliar de Etiquetas Parciais

<partial name="_ValidationScriptsPartial" />

Esta ação injeta o conteúdo do _ValidationScriptsPartial.cshtml ficheiro numa página. O _ValidationScriptsPartial.cshtml ficheiro contém JavaScript que é utilizado para validar a entrada do formulário, pelo que tem de ser incluído em todas as páginas que contenham um formulário.

Auxiliar de etiquetas

<label asp-for="Foo.Id" class="control-label"></label>

Isto expande o elemento HTML <label> padrão. Tal como muitos auxiliares de etiquetas, utiliza um asp-for atributo. O atributo aceita uma propriedade do PageModel. Neste caso, o nome da PageModelpropriedade 's Foo.Id ' (especificamente, a cadeia "Id") será composto como o conteúdo de um elemento HTML <label> .

Programa auxiliar de etiquetas de entrada

<input asp-for="Foo.Id" class="form-control" />

Semelhante ao exemplo anterior, este procedimento expande o elemento HTML <input> padrão. Também utiliza um atributo asp-for para especificar uma propriedade PageModel. Neste caso, o valor da Foo.Id propriedade será composto como o value atributo de um elemento HTML <input> .

Programa Auxiliar de Etiquetas de Resumo de Validação

<div asp-validation-summary="All"></div>

O Programa Auxiliar de Etiquetas de Resumo de Validação apresenta uma mensagem de validação para uma única propriedade no modelo.

Nota

Aspetos como regras de validação e nomes de apresentação de propriedades são definidos na PageModel classe. Vamos indicar onde encontrá-los no código na próxima unidade.

Processadores de páginas

A PageModel classe define processadores de páginas para pedidos HTTP e dados utilizados para compor a página. No exercício anterior, a PizzaListModel classe lidou com o pedido HTTP GET ao definir o valor da PizzaList propriedade para o valor de _service.GetPizzas().

Os processadores comuns incluem OnGet a inicialização de páginas e OnPost submissões de formulários. Para processar um HTTP POST, um processador de páginas pode verificar os dados submetidos pelo utilizador, apresentar novamente a página do formulário de entrada se for inválido ou enviar os dados válidos para um serviço ou base de dados para persistência.

Na unidade seguinte, irá adicionar um formulário para criar novas pizzas com vários auxiliares de etiquetas. Também irá adicionar processadores de páginas para processar a submissão e eliminação de formulários de pizzas.