Minha dúvida é quando estou na View, quando eu devo usar o @model e quando devo usar o @Model?
Minha dúvida é quando estou na View, quando eu devo usar o @model e quando devo usar o @Model?
Oi Rosembergue, tudo bem?
As duas formas tem uma utilização bem específica:
1) Para declarar com qual qual modelo a página Razor irá trabalhar, utilizamos a diretiva @model
(inicial em minúscula):
@model Cadastro
Nesse caso, Cadastro
é a classe que serve de modelo para a view.
2) Para acessar as propriedades do modelo, precisamos utilizar o objeto Model
(inicial em minúscula):
<input type="text" class="form-control" id="nomeCliente" placeholder="Nome do Cliente"
asp-for="@Model.Nome">
Mas por que nesse caso também foi usado o símbolo de arroba (@) ? Porque ele sempre demarca o início de código C# dentro do HTML numa view Razor.
Note que nem sempre o objeto Model
é precedido pelo arroba (@): Ele só é necessário quando você está inserindo o Model
diretament num código HTML. Se você utilizar o Model
dentro de um bloco C#, não se usa o arroba (@):
<div class="carousel-inner" role="listbox">
@{
const int TAMANHO_PAGINA = 4;
int paginas = (int)Math.Ceiling((double)Model.Count() / TAMANHO_PAGINA);
}