如何在ASP.net Core中执行编辑操作



如何在ASP.net Core中执行编辑操作?我有以下产品详细信息查看操作的代码,我需要帮助创建编辑页面的操作

//IProduct接口

namespace Proj.Core.App.Common.Product
{    public interface IProductService
{
Task<IList<ProductDTO>> GetProducts();
}
}

//产品控制器

public class ProductController : Controller
{ 
public IProductService ProductService { get; }
public ProductController(IProductService ProductService)
{
ProductService = ProductService;
}    
//DetailAction    
[HttpGet()]
public async Task<IActionResult> Detail(int id)
{
var ProductList= (await ProductService.GetProducts()).ToList();        
var project = ProductList.FirstOrDefault(a => a.ID == id);
@ViewBag.Product_Code = product.productCode;
@ViewBag.Product_Name = product.productName;      
return View();
}
}

如何为编辑页面操作创建操作?

我留下了一条评论,认为这个问题确实需要更多信息才能正确回答。然而,也许下面的内容可以帮助你开始。

下面是一个使用现有方法的实现。

public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var productList = (await ProductService.GetProducts()).ToList();
var product = productList.FirstOrDefault(a => a.ID == id);
if (product == null)
{
return NotFound();
}
return View(product);
}

这就是典型的实体框架实现的样子。提取你能从中提取的信息。

public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var product = await _context.Products.FindAsync(id);
if (product == null)
{
return NotFound();
}
return View(applications);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(Product product)
{
if (ModelState.IsValid)
{
try
{
_context.Update(product);
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ProductExists(product.Id))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToAction(nameof(Index));
}
return View(applications);
}
private bool ProductExists(int id)
{
return _context.Products.Any(e => e.Id == id);
}

希望能有所帮助。

编码快乐!!!

//DetailAction    
[HttpPut()]
public async Task<IActionResult> Put(Product model)
{
..call your service or ...
return View();
}

最新更新