📜  asp.net 模型 - C# (1)

📅  最后修改于: 2023-12-03 14:59:24.544000             🧑  作者: Mango

ASP.NET 模型 - C#

ASP.NET 是微软开发的一种 Web 应用程序框架,其中使用了多种编程语言,其中最常用的是 C#。C# 是一种面向对象的编程语言,使用它可以更高效地构建 ASP.NET 应用程序。本文将介绍一些与 ASP.NET 模型相关的知识点,并提供一些样例代码。

ASP.NET 模型

ASP.NET 模型是一种设计模式,用于构建 Web 应用程序。它框架提供了多个模型,其中最常见的是 MVC(Model-View-Controller)和 Web API。以下是对这两个模型的简要介绍。

MVC

MVC 是一种模型 - 视图 - 控制器模式,其中模型是应用程序处理数据的部分,视图负责用户界面,控制器则协调模型和视图之间的交互。它适用于复杂的 Web 应用程序,允许开发人员对应用程序的不同部分进行分离和测试。以下是一些基于 ASP.NET MVC 的示例代码。

public class Product
{
    public int ProductId { get; set; }
    public string Name { get; set; }
    public string Category { get; set; }
    public decimal Price { get; set; }
}

public class ProductController : Controller
{
    private List<Product> products = new List<Product> {
        new Product { ProductId = 1, Name = "Product 1", Category = "Category 1", Price = 10 },
        new Product { ProductId = 2, Name = "Product 2", Category = "Category 1", Price = 20 },
        new Product { ProductId = 3, Name = "Product 3", Category = "Category 2", Price = 30 },
        new Product { ProductId = 4, Name = "Product 4", Category = "Category 2", Price = 40 },
        new Product { ProductId = 5, Name = "Product 5", Category = "Category 3", Price = 50 }
    };

    public ActionResult Index(string category = null)
    {
        var filteredProducts = products.Where(p => category == null || p.Category == category);
        return View(filteredProducts);
    }
}

上面的代码演示了一个简单的产品列表页面。模型是 Product 类,视图是 Index.cshtml 文件,控制器是 ProductController 类。

Web API

Web API 是一种基于 Web 的 API,它使用 HTTP 协议进行通信。它允许开发人员通过 HTTP 请求来访问应用程序的数据和服务。以下是一些基于 ASP.NET Web API 的示例代码。

public class ProductsController : ApiController
{
    private List<Product> products = new List<Product> {
        new Product { ProductId = 1, Name = "Product 1", Category = "Category 1", Price = 10 },
        new Product { ProductId = 2, Name = "Product 2", Category = "Category 1", Price = 20 },
        new Product { ProductId = 3, Name = "Product 3", Category = "Category 2", Price = 30 },
        new Product { ProductId = 4, Name = "Product 4", Category = "Category 2", Price = 40 },
        new Product { ProductId = 5, Name = "Product 5", Category = "Category 3", Price = 50 }
    };

    // GET api/products
    public IEnumerable<Product> Get()
    {
        return products;
    }

    // GET api/products/5
    public Product Get(int id)
    {
        var product = products.FirstOrDefault(p => p.ProductId == id);
        if (product == null)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        return product;
    }

    // POST api/products
    public HttpResponseMessage Post(Product product)
    {
        product.ProductId = products.Max(p => p.ProductId) + 1;
        products.Add(product);
        var response = Request.CreateResponse(HttpStatusCode.Created, product);
        response.Headers.Location = new Uri(Request.RequestUri, "/api/products/" + product.ProductId);
        return response;
    }

    // PUT api/products/5
    public void Put(int id, Product product)
    {
        var index = products.FindIndex(p => p.ProductId == id);
        if (index == -1)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        products[index] = product;
    }

    // DELETE api/products/5
    public void Delete(int id)
    {
        var index = products.FindIndex(p => p.ProductId == id);
        if (index == -1)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        products.RemoveAt(index);
    }
}

上面的代码演示了一个简单的产品 API。它提供了 GETPOSTPUTDELETE 操作,开发人员可以使用这些操作来获取、创建、更新或删除产品。注意,在 Web API 中,开发人员必须显式声明响应的 HTTP 方法和 URL。

总结

ASP.NET 模型是 Web 应用程序开发中的重要概念。本文提供了一些关于 ASP.NET MVC 和 Web API 的示例代码,希望能对开发人员有所帮助。