- Introdução ao ASP.NET MVC
- Instalação do ASP.NET MVC
- Estrutura de Arquivos do ASP.NET MVC
- Rotas no ASP.NET MVC
- Controladores e Views
- Configuração do Banco de Dados
- Comandos Úteis
- Recursos e Links Adicionais
ASP.NET MVC é um framework de desenvolvimento web que segue o padrão de arquitetura Model-View-Controller (MVC), desenvolvido pela Microsoft. Ele permite que você crie aplicações web escaláveis e bem estruturadas, separando a lógica de negócio, a interface do usuário e o controle de fluxo.
- Visual Studio (recomendado para desenvolvimento)
- .NET SDK (Software Development Kit)
- .NET Core ou .NET Framework (dependendo da versão que você escolher)
- Abra o Visual Studio e selecione "Criar um novo projeto".
- Escolha o template "Aplicativo Web ASP.NET Core" e clique em "Avançar".
- Selecione a opção "Aplicativo Web (Modelo MVC)" para criar um projeto MVC.
- Configure o nome do projeto e o local para salvá-lo.
- Clique em "Criar".
Se você preferir usar a linha de comando, execute o seguinte comando para criar um novo projeto MVC:
dotnet new mvc -n NomeDoProjeto
cd NomeDoProjeto
dotnet run
A estrutura de arquivos no ASP.NET MVC segue um padrão que facilita o desenvolvimento e organização de projetos. Aqui estão os principais diretórios e arquivos:
-
Controllers/
Contém os controladores, que gerenciam as requisições e a lógica do fluxo da aplicação.
Exemplo:HomeController.cs
-
Views/
Contém as Views (páginas da web) que são renderizadas e enviadas para o usuário. Cada controlador pode ter uma pasta de Views associada.
Exemplo:Views/Home/Index.cshtml
-
Models/
Contém as classes de modelo que representam os dados da aplicação e são usadas para manipulação e validação.
Exemplo:Product.cs
-
wwwroot/
Contém arquivos estáticos como CSS, JavaScript e imagens que são servidos para o cliente. -
appsettings.json
Arquivo de configuração da aplicação, usado para armazenar configurações, como string de conexão com o banco de dados.
No ASP.NET MVC, as rotas são configuradas no arquivo Startup.cs
ou Program.cs
(dependendo da versão do .NET). O padrão de rotas pode ser ajustado para diferentes necessidades.
No arquivo Program.cs
(ou Startup.cs
em versões mais antigas), a configuração de rota padrão é geralmente assim:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
A rota padrão é configurada em Configure
dentro de Startup.cs
:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
A rota padrão acima mapeia para HomeController
e o método Index
.
No ASP.NET MVC, controladores são classes que gerenciam o fluxo de requisição e resposta. Para criar um controlador, crie uma classe que herda de Controller
.
Exemplo de controlador simples:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult About()
{
return View();
}
}
Views são arquivos que definem o conteúdo HTML exibido para o usuário. No ASP.NET MVC, as Views geralmente têm a extensão .cshtml
.
Exemplo de Index.cshtml
:
@{
ViewData["Title"] = "Home Page";
}
<div class="text-center">
<h1 class="display-4">@ViewData["Title"]</h1>
<p>Welcome to ASP.NET Core MVC!</p>
</div>
O controlador HomeController
com a ação Index
renderiza a view Index.cshtml
automaticamente.
Quando o usuário acessar a rota /Home/Index
, o método Index
será chamado, e o resultado será a renderização da View Index.cshtml
.
Use o NuGet ou a CLI do .NET para instalar o pacote do Entity Framework Core.
Via CLI:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
No arquivo appsettings.json
, adicione a string de conexão para o banco de dados:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDatabase;User Id=myusername;Password=mypassword;"
}
}
Exemplo de modelo Product.cs
:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
Crie uma classe ApplicationDbContext
que herda de DbContext
:
public class ApplicationDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { }
}
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddControllersWithViews();
}
-
Rodar o Projeto:
dotnet run
-
Criar Novo Controlador:
dotnet aspnet-codegenerator controller NomeDoControlador --controller
-
Gerar Migrations (Banco de Dados):
dotnet ef migrations add InitialCreate
-
Atualizar o Banco de Dados:
dotnet ef database update