Create a view
Views no ASP.NET Core são criadas utilizando a linguagem de template Razor, que combina HTML e código C#. (Se você já escreveu páginas usando Handlebars moustaches, ERB no Ruby on Rails, ou Thymeleaf no Java, você já tem a ideia básica.)
A maior parte do código da view é apenas HTML, com adições ocasionais de declarações C# para extrair dados do view model e transformá-los em texto ou HTML. As declarações C# são prefixadas com o símbolo @.
A view renderizada pela action Index do TodoController precisa pegar os dados do view model (uma sequência de itens da to-do list) e exibi-los em uma tabela agradável para o usuário. Por convenção, views são colocadas no diretório Views em um subdiretório correspondente ao nome do controller. O nome do arquivo da view é o nome da action com uma extensão .cshtml.
Crie um diretório Todo dentro do diretório Views, e adicione este arquivo:
Views/Todo/Index.cshtml
@model TodoViewModel
@{
ViewData["Title"] = "Manage your todo list";
}
<div class="panel panel-default todo-panel">
<div class="panel-heading">@ViewData["Title"]</div>
<table class="table table-hover">
<thead>
<tr>
<td>✔</td>
<td>Item</td>
<td>Due</td>
</tr>
</thead>
@foreach (var item in Model.Items)
{
<tr>
<td>
<input type="checkbox" class="done-checkbox">
</td>
<td>@item.Title</td>
<td>@item.DueAt</td>
</tr>
}
</table>
<div class="panel-footer add-item-form">
<!-- TODO: Add item form -->
</div>
</div>No começo do arquivo, a diretiva @model diz ao Razor qual model esperar que esta view seja ligada. O model é acessado através da propriedade Model.
Assumindo que existam itens da to-do list em Model.Items, a declaração foreach irá iterar sobre cada um e renderizar uma linha de tabela (elemento <tr>) contendo o nome do item e sua data de vencimento. O checkbox também é renderizado, o que irá permitir que o usuário marque o item como completo.
O arquivo de layout
Você deve estar se perguntando onde está o resto do HTML: o que aconteceu com a tag <body>, ou o cabeçalho e o rodapé da página? O ASP.NET Core usa uma layout view que define a estrutura básica onde todas as outras view's são renderizadas. Ela fica armazenada em Views/Shared/_Layout.cshtml.
O template padrão do ASP.NET Core inclui Bootstrap e jQuery neste arquivo de layout, então você pode criar rapidamente uma aplicação web. Naturalmente, você pode usar suas próprias bibliotecas CSS e JavaScript se assim quiser.
Personalizando o stylesheet
O template padrão também inclui um stylesheet com algumas regras CSS básicas. O stylesheet é armazenado no diretório wwwroot/css. Adicione algumas novas regras de estilo CSS no fim do arquivo site.css:
wwwroot/css/site.css
Você pode usar regras CSS como estas para modificar completamente a aparência das suas páginas.
ASP.NET Core e Razor podem fazer muito mais, como partial views e server-rendered view components, mas um simples layout e view são tudo que você precisa por enquanto. A documentação oficial do ASP.NET Core (em https://docs.asp.net) contém vários exemplos se você quiser aprender mais.
Last updated
Was this helpful?