ASP.NET 概述与创建第一个 ASP.NET 项目教程

1. ASP.NET 概述

ASP.NET 是一个由微软开发的开源服务器端Web应用程序框架,旨在简化Web应用程序的开发。它支持多种编程语言,包括C#和VB.NET,允许开发者使用他们熟悉的语言来构建动态网站、Web应用程序和Web服务。

1.1 ASP.NET 的优点

  • 高性能:ASP.NET 通过编译代码和使用内存中的缓存来提高性能。
  • 安全性:内置的身份验证和授权机制使得开发者可以轻松实现安全性。
  • 丰富的库和工具:ASP.NET 提供了丰富的类库和工具,帮助开发者快速构建应用程序。
  • 跨平台支持:ASP.NET Core 允许在Windows、Linux和macOS上运行,增强了灵活性。
  • 社区支持:作为一个开源项目,ASP.NET 拥有活跃的社区,提供了大量的资源和支持。

1.2 ASP.NET 的缺点

  • 学习曲线:对于初学者来说,ASP.NET 的学习曲线可能较陡峭,尤其是对于MVC和Web API等概念。
  • 资源消耗:ASP.NET 应用程序可能会消耗较多的服务器资源,尤其是在高并发情况下。
  • 版本兼容性:不同版本的ASP.NET之间可能存在不兼容的问题,迁移应用程序时需要谨慎。

2. 创建第一个 ASP.NET 项目

在本节中,我们将创建一个简单的ASP.NET Core Web应用程序。我们将使用Visual Studio作为开发环境。

2.1 环境准备

  1. 安装 Visual Studio

    • 下载并安装 Visual Studio Community 版本。
    • 在安装过程中,确保选择“ASP.NET 和 Web 开发”工作负载。
  2. 安装 .NET SDK

2.2 创建项目

  1. 启动 Visual Studio
  2. 选择“创建新项目”
  3. 在项目模板中,选择“ASP.NET Core Web 应用程序”,然后点击“下一步”。
  4. 输入项目名称(例如:MyFirstAspNetApp),选择保存位置,然后点击“创建”。
  5. 在下一个窗口中,选择“Web 应用程序(模型-视图-控制器)”模板,确保选择了正确的 .NET 版本(例如:.NET 6.0),然后点击“创建”。

2.3 项目结构

创建项目后,您将看到以下文件和文件夹结构:

  • Controllers:存放控制器类的文件夹,控制器负责处理用户请求。
  • Models:存放数据模型的文件夹,模型通常与数据库交互。
  • Views:存放视图文件的文件夹,视图负责呈现用户界面。
  • wwwroot:存放静态文件(如CSS、JavaScript和图像)的文件夹。
  • appsettings.json:应用程序的配置文件。

2.4 编写代码

2.4.1 创建模型

Models 文件夹中,创建一个名为 Product.cs 的文件,内容如下:

namespace MyFirstAspNetApp.Models
{
    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public decimal Price { get; set; }
    }
}

2.4.2 创建控制器

Controllers 文件夹中,创建一个名为 ProductController.cs 的文件,内容如下:

using Microsoft.AspNetCore.Mvc;
using MyFirstAspNetApp.Models;
using System.Collections.Generic;

namespace MyFirstAspNetApp.Controllers
{
    public class ProductController : Controller
    {
        private static List<Product> products = new List<Product>
        {
            new Product { Id = 1, Name = "Product 1", Price = 10.0M },
            new Product { Id = 2, Name = "Product 2", Price = 20.0M },
            new Product { Id = 3, Name = "Product 3", Price = 30.0M }
        };

        public IActionResult Index()
        {
            return View(products);
        }
    }
}

2.4.3 创建视图

Views/Product 文件夹中,创建一个名为 Index.cshtml 的文件,内容如下:

@model IEnumerable<MyFirstAspNetApp.Models.Product>

<!DOCTYPE html>
<html>
<head>
    <title>Product List</title>
</head>
<body>
    <h1>Product List</h1>
    <table>
        <thead>
            <tr>
                <th>Id</th>
                <th>Name</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var product in Model)
            {
                <tr>
                    <td>@product.Id</td>
                    <td>@product.Name</td>
                    <td>@product.Price</td>
                </tr>
            }
        </tbody>
    </table>
</body>
</html>

2.5 配置路由

Startup.cs 文件中,确保在 Configure 方法中配置了路由:

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.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Product}/{action=Index}/{id?}");
    });
}

2.6 运行应用程序

  1. 在Visual Studio中,点击“运行”按钮(或按F5)启动应用程序。
  2. 浏览器将打开并显示产品列表。

2.7 注意事项

  • 依赖注入:ASP.NET Core 提供了内置的依赖注入支持,建议在控制器中使用构造函数注入服务。
  • 模型验证:在实际应用中,建议使用数据注解来验证模型数据的有效性。
  • 错误处理:在生产环境中,确保实现适当的错误处理机制,以便用户友好地处理错误。

2.8 总结

通过本教程,您已经成功创建了一个简单的ASP.NET Core Web应用程序。您了解了项目的基本结构,如何创建模型、控制器和视图,以及如何配置路由。随着您对ASP.NET的深入了解,您可以构建更复杂的应用程序,利用其强大的功能和灵活性。希望您在ASP.NET的学习旅程中取得成功!