asp.net-core - 我使用 HttpGet 和 HttpPost 错了吗?ASP.NET C#
问题描述
代码:
[HttpPost]
public ActionResult DeleteProduct(int ProductID, string Name, decimal Price, string Photo, int Likes, string Description, Enums.ProductCategory.Category Category)
{
ProductModel productModel = new ProductModel
{
ProductID = ProductID,
Name = Name,
Price = Price,
Photo = Photo,
Likes = Likes,
Description = Description,
Category = Category
};
return View(productModel);
}
[HttpGet]
public ActionResult DeleteProduct(int ProductID)
{
if(UserController.userSessionID != 0)
{
user.DeleteProduct(ProductID);
return RedirectToAction("ViewSellerProducts", "Product");
}
return View();
}
但是我读到 HttpGet 只是为了获取数据而没有做任何其他事情,这[HttpGet]DeleteProduct()
没有做。事实是,如果我将 ID 更改DeleteProduct()
为[HttpPost]
0,那么我将如何在视图中获取 ID?
当我在显示所有详细信息的页面上时,我必须单击删除:
解决方案
您缺少input
产品 ID 以将其传递为HttpPost
<form asp-action="DeleteProduct">
<input type="hidden" asp-for="ProductID" />
<input type="submit" value="Delete" class="btn btn-danger" />
...
</form>
推荐阅读
- javascript - 如何从javascript访问顺风颜色
- python - python tkinter treeview 停止更新到屏幕
- bookshelf.js - 包含递归关系中的所有包含 - stri
- scala - 使用具有 3 个元素和一个额外对象的元组创建具有 4 个元素的元组
- javascript - WordPress 不会加载 2 个 CSS 文件(只能加载一个)
- wordpress - 表中的 ACF 中继器字段 - PHP 模板中
- javascript - 如何在组件标签中设置一个对象的样式
- angular - 托管在 azure 上的 Angular 应用程序显示空白页面
- python - FileNotFoundError: [Errno 2] No such file or directory for pictures on Python 3.7
- java - 用自定义类加载器替换整个代码中的 Java 类