网站群集约化建设通知,公司网站定制开发,搜索引擎公司排名,注册公司网站源码ASP.NET Core 是一个开源、跨平台、高性能的 Web 框架#xff0c;适用于构建现代 Web 应用和 API。它不仅支持传统的 Web 应用开发#xff0c;还支持 RESTful API、实时应用、微服务等架构。与传统的 ASP.NET 框架相比#xff0c;ASP.NET Core 更加轻量级、模块化#xff0…
ASP.NET Core 是一个开源、跨平台、高性能的 Web 框架适用于构建现代 Web 应用和 API。它不仅支持传统的 Web 应用开发还支持 RESTful API、实时应用、微服务等架构。与传统的 ASP.NET 框架相比ASP.NET Core 更加轻量级、模块化并支持跨平台部署能够在 Windows、Linux 和 macOS 上运行。
本指南将带你通过一个 ASP.NET Core Web 应用 的完整开发过程从入门到实战帮助你掌握如何创建一个实际的 Web 应用。 1. ASP.NET Core 简介
ASP.NET Core 是一个 跨平台 的 Web 框架适用于开发高度性能化和可扩展的 Web 应用。它基于 .NET Core可以运行在 Windows、Linux 和 macOS 上。它支持以下几种开发场景
MVCModel-View-Controller经典的 Web 开发模式用于创建动态 Web 应用。Web APIRESTful API 服务的开发适用于前后端分离、移动应用等场景。Blazor基于 WebAssembly 构建的客户端 Web 应用框架可以用 C# 代替 JavaScript 编写前端代码。
2. 创建 ASP.NET Core 项目
2.1 安装 .NET SDK
首先你需要安装 .NET SDK。如果没有安装可以从 官方站点 下载并安装。
2.2 使用 .NET CLI 创建项目
你可以通过 .NET CLI 命令创建一个新的 ASP.NET Core Web 应用
dotnet new mvc -n ECommerceApp
cd ECommerceApp这个命令会创建一个新的 ASP.NET Core MVC 项目。mvc 模板是 ASP.NET Core 默认的 Web 应用模板它包含了 MVC模型-视图-控制器设计模式的基础结构。
2.3 项目结构概览
创建项目后ASP.NET Core 会自动生成以下目录结构
ECommerceApp/
├── Controllers/ # 控制器文件夹处理业务逻辑
├── Models/ # 模型文件夹存放数据实体
├── Views/ # 视图文件夹存放 Razor 视图文件
├── wwwroot/ # 静态文件夹如 CSS、JS、图片等
├── appsettings.json # 配置文件存储数据库连接、日志等设置
├── Startup.cs # 配置应用程序服务和请求管道
├── Program.cs # 应用程序启动点3. 构建 Web 应用MVC 设计模式
ASP.NET Core 使用 MVC 模式进行 Web 开发。MVC 模式将应用程序分为三个主要部分
Model代表应用程序的数据和业务逻辑。View负责显示用户界面。Controller接收用户请求并与 Model 和 View 交互。
3.1 创建模型Model
在 Models 文件夹下创建一个简单的 Product 模型类表示商品数据。
namespace ECommerceApp.Models
{public class Product{public int Id { get; set; }public string Name { get; set; }public decimal Price { get; set; }public string Description { get; set; }}
}3.2 创建控制器Controller
在 Controllers 文件夹下创建 ProductController它将处理与商品相关的请求。
using Microsoft.AspNetCore.Mvc;
using ECommerceApp.Models;
using System.Collections.Generic;namespace ECommerceApp.Controllers
{public class ProductController : Controller{private static ListProduct products new ListProduct{new Product { Id 1, Name Laptop, Price 999.99m, Description High-performance laptop },new Product { Id 2, Name Smartphone, Price 599.99m, Description Latest model smartphone }};// 显示所有商品public IActionResult Index(){return View(products);}// 显示商品详细信息public IActionResult Details(int id){var product products.Find(p p.Id id);if (product null){return NotFound();}return View(product);}}
}3.3 创建视图View
在 Views/Product 文件夹下创建 Index.cshtml 和 Details.cshtml 视图文件。 Index.cshtml展示商品列表。 model IEnumerableECommerceApp.Models.Product 商品列表 商品列表 foreach (var product in Model) {
3.4 路由与控制器方法
在 Startup.cs 文件中配置路由。默认情况下ASP.NET Core 会使用约定路由。我们已经在 ProductController 中定义了两个方法Index 和 Details。ASP.NET Core 会根据 URL 自动匹配这些方法。
4. 数据库集成使用 Entity Framework Core
为了存储和管理商品信息我们需要一个数据库。ASP.NET Core 默认支持 Entity Framework Core这是一款轻量级的 ORM对象关系映射工具允许你通过对象操作数据库。
4.1 配置数据库连接
在 appsettings.json 中配置数据库连接字符串
{ConnectionStrings: {DefaultConnection: Server(localdb)\mssqllocaldb;DatabaseECommerceDb;Trusted_ConnectionTrue;MultipleActiveResultSetstrue}
}4.2 创建数据库上下文DbContext
创建一个 ApplicationDbContext 类在其中定义商品实体 Product。
using Microsoft.EntityFrameworkCore;
using ECommerceApp.Models;namespace ECommerceApp.Data
{public class ApplicationDbContext : DbContext{public ApplicationDbContext(DbContextOptionsApplicationDbContext options): base(options){}public DbSetProduct Products { get; set; }}
}4.3 配置数据库上下文
在 Startup.cs 中配置数据库上下文。
public void ConfigureServices(IServiceCollection services)
{services.AddDbContextApplicationDbContext(options options.UseSqlServer(Configuration.GetConnectionString(DefaultConnection)));services.AddControllersWithViews();
}4.4 创建数据库迁移
使用命令行工具创建数据库迁移并生成数据库
dotnet ef migrations add InitialCreate
dotnet ef database update4.5 使用数据库
现在你可以通过 DbContext 在控制器中进行数据访问了。修改 ProductController让它从数据库中读取数据而不是使用静态数据。
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using ECommerceApp.Models;
using ECommerceApp.Data;
using System.Collections.Generic;
using System.Threading.Tasks;namespace ECommerceApp.Controllers
{public class ProductController : Controller{private readonly ApplicationDbContext _context;public ProductController(ApplicationDbContext context){_context context;}// 显示所有商品public async TaskIActionResult Index(){var products await _context.Products.ToListAsync();return View(products);}// 显示商品详细信息public async TaskIActionResult Details(int id){var product await _context.Products.FindAsync(id);if (product null){return NotFound();}return View(product);}}
}5. 前端和后端交互表单与数据提交
ASP.NET Core 提供了多种方式来处理前端与后端的交互。例如你可以使用 Razor 视图引擎来动态生成 HTML处理表单提交等。你还可以结合 JavaScript 提升用户体验或者通过 AJAX 请求与后台 API 交互。
5.1 创建商品的表单
你可以在视图中创建一个简单的表单来添加新商品。
model ECommerceApp.Models.Productform asp-actionCreatelabel forName商品名称/labelinput typetext idName nameName required /label forPrice价格/labelinput typetext idPrice namePrice required /label forDescription描述/labelinput typetext idDescription nameDescription required /button typesubmit添加商品/button
/form5.2 处理表单提交
在控制器中处理表单的 POST 请求
[HttpPost]
public async TaskIActionResult Create(Product product)
{if (ModelState.IsValid){_context.Products.Add(product);await _context.SaveChangesAsync();return RedirectToAction(nameof(Index));}return View(product);
}6. 总结
通过本教程你已经掌握了如何使用 ASP.NET Core 创建一个基本的 MVC Web 应用包含了商品的展示、添加、数据库集成等核心功能。你可以进一步扩展这个系统比如
添加用户认证与授权Identity。集成支付系统如 Stripe 或 PayPal。设计 RESTful API 实现前后端分离。使用 SignalR 实现实时更新功能。
ASP.NET Core 是一个非常强大的框架能够支持各种 Web 开发需求学习它可以为你打下坚实的 Web 开发基础。