以下是一个使用ASP.NET Core实现50个页面的CRUD示例的解决方法:
首先,创建一个新的ASP.NET Core Web应用程序项目。
在项目中创建一个名为"Models"的文件夹,用于存储数据模型。在该文件夹中创建一个名为"Item.cs"的类文件,用于定义一个基本的数据模型。
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
using System.Collections.Generic;
using System.Linq;
public class ItemRepository
{
private List- items = new List
- ();
public IEnumerable
- GetAllItems()
{
return items;
}
public Item GetItemById(int id)
{
return items.FirstOrDefault(item => item.Id == id);
}
public void AddItem(Item item)
{
items.Add(item);
}
public void UpdateItem(Item item)
{
var existingItem = GetItemById(item.Id);
if (existingItem != null)
{
existingItem.Name = item.Name;
existingItem.Price = item.Price;
}
}
public void DeleteItem(int id)
{
var existingItem = GetItemById(id);
if (existingItem != null)
{
items.Remove(existingItem);
}
}
}
using Microsoft.AspNetCore.Mvc;
public class ItemController : Controller
{
private ItemRepository repository = new ItemRepository();
public IActionResult Index()
{
var items = repository.GetAllItems();
return View(items);
}
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Item item)
{
if (ModelState.IsValid)
{
repository.AddItem(item);
return RedirectToAction("Index");
}
return View(item);
}
public IActionResult Edit(int id)
{
var item = repository.GetItemById(id);
if (item != null)
{
return View(item);
}
return RedirectToAction("Index");
}
[HttpPost]
public IActionResult Edit(Item item)
{
if (ModelState.IsValid)
{
repository.UpdateItem(item);
return RedirectToAction("Index");
}
return View(item);
}
public IActionResult Delete(int id)
{
repository.DeleteItem(id);
return RedirectToAction("Index");
}
}
@model IEnumerable-
Items
Id
Name
Price
@foreach (var item in Model)
{
@item.Id
@item.Name
@item.Price
Edit |
Delete
}
Create New Item
@model Item
Create Item