You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
git init -b main git remote add [NomerDORepositorio] [url] git push -u origin main git config credential.username hesauhugo git pull --allow-unrelated-histories origin main
O padrão mvc
O padrão de arquitetura mcv (model-view-controller) separa um aplicativo em três grupos de componentes principais: modelos, exibições e componentes. Esse padrão ajuda a obter a separação de interesses
Existem duas principais versões do ASP.NET: Web Forms e ASP.NET MVC (Model-View-Controller). O ASP.NET Web Forms é baseado em controles e eventos, proporcionando um modelo de desenvolvimento rápido e fácil para a criação de aplicativos web. Já o ASP.NET MVC adota o padrão de arquitetura MVC, separando a lógica de negócios (Model), a apresentação (View) e o controle de fluxo (Controller) em componentes distintos.
Criando o projeto
Para criar um novo projeto asp.net core mvc
dotnet new mvc
Executar o projeto
dotnet watch run
Avaliando a pasta Views subpasta Home
Nela existem dois arquivos com a extensão cshtml
são as duas páginas que aparecem após a execução do programa
Arquivo Index.cshtml
@{
ViewData["Title"] = "Home Page";
}
<divclass="text-center"><h1class="display-4">Welcome</h1><p>Learn about <ahref="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p></div>
Arquivo Privacy.cshtml
@{
ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1><p>Use this page to detail your site's privacy policy.</p>
Entendendo as rotas
As controller herdam de controller, como por exemplo a homecontroller
como o retorno é uma View significa que dentro da pasta view existirá uma visualização para cada retorno.
como por exemplo já mostrado anteriormente na pasta Views/Home/
o fluxo é o seguinte: Controller chamada HomeController, então dentro da pasta views será procurada uma pasta chamada Home, seguindo a rota dentro da pasta Views/Home/ será producado um arquivo cujo nome é semelhante ao método que retorna a view dentro da HomeController, por exemplo o arquivo Privacy.cshtml, o caminho da controler será HomeController/Privacy e o caminho da view será Views/Home/Privacy.cshtml
using Microsoft.EntityFrameworkCore;namespace DotNet_FrontEnd_ASPNET_MVC.Context
{publicclassAgendaContext:DbContext{publicAgendaContext(DbContextOptions<AgendaContext>options):base(options){}publicDbSet<Contato> Contatos{get;set;}}}
Importar pacote entityframeworkcore e a dbcontext adicionando o serviço na classe program
using Microsoft.EntityFrameworkCore;using DotNet_FrontEnd_ASPNET_MVC.Context;varbuilder= WebApplication.CreateBuilder(args);// Add services to the container.
builder.Services.AddDbContext<AgendaContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("ConexaoPadrao")));
builder.Services.AddControllersWithViews();
Criando migrations
executar no terminal
dotnet ef migrations add AdicionaTabelaContato
aplicar no projeto
dotnet ef database update
Criando a primeira página
primeiro dentro da pasta Controler criar uma nova controller contato
using Microsoft.AspNetCore.Mvc;namespace DotNet_FrontEnd_ASPNET_MVC.Controllers
{publicclassContatoController:Controller{public IActionResult Index(){return View();}}}
dentro da pasta Views criar uma pasta chamada Contato e dentro dela criar um arquivo chamado index.cshtml
Com isso a página já está criada, porém sem conteúdo dentro