HTML 表单上 ASP.NET MVC 中的 PUT 或 DELETE 动词

作者:编程家 分类: 编程代码 时间:2025-11-19

使用 ASP.NET MVC 中的 PUT 或 DELETE 动词进行 HTML 表单提交

在 ASP.NET MVC 中,我们通常使用 HTTP 动词来处理网页上的表单提交。除了常见的 POST 和 GET 请求之外,我们也可以使用 PUT 和 DELETE 请求来实现更新和删除操作。

PUT 请求用于更新资源,而 DELETE 请求用于删除资源。这两种请求通常用于 RESTful API 中,但在某些情况下也可以在 ASP.NET MVC 中使用。

让我们来看一个示例,假设我们有一个商品管理系统,我们希望能够通过 HTML 表单来更新和删除商品。

首先,我们需要在视图中创建一个表单,用于编辑商品信息。我们可以使用 HTML 的 form 元素,并将 method 属性设置为 "PUT",并指定 action 属性为我们的更新商品的路由。

html

在上面的代码中,我们通过添加一个隐藏的 input 元素,将请求的方法设置为 "PUT"。这样,当我们点击提交按钮时,表单将发送一个 PUT 请求到 "/products/update" 路由。

接下来,我们需要在控制器中处理这个 PUT 请求。我们可以使用 ASP.NET MVC 提供的 [HttpPut] 特性来标记我们的动作方法。

csharp

[HttpPut]

public ActionResult Update(ProductViewModel model)

{

// 根据 model 中的数据更新商品信息

// ...

return RedirectToAction("Index");

}

在上面的代码中,我们使用 [HttpPut] 特性来标记 Update 动作方法。这样,当我们收到一个 PUT 请求时,ASP.NET MVC 将自动将请求中的数据绑定到 ProductViewModel 对象中,并将其作为参数传递给我们的动作方法。

在动作方法中,我们可以根据 ProductViewModel 中的数据来更新商品信息。完成更新后,我们可以通过 RedirectToAction 方法来重定向用户到商品列表页面。

接下来,让我们来看一下如何使用 DELETE 请求来删除商品。

我们可以再次在视图中创建一个表单,用于删除商品。同样地,我们可以使用 HTML 的 form 元素,并将 method 属性设置为 "POST",并指定 action 属性为我们的删除商品的路由。

html

在上面的代码中,我们通过添加一个隐藏的 input 元素,将请求的方法设置为 "DELETE"。这样,当我们点击提交按钮时,表单将发送一个 DELETE 请求到 "/products/delete" 路由。

接下来,我们需要在控制器中处理这个 DELETE 请求。我们可以使用 ASP.NET MVC 提供的 [HttpDelete] 特性来标记我们的动作方法。

csharp

[HttpDelete]

public ActionResult Delete(int productId)

{

// 根据 productId 删除对应的商品

// ...

return RedirectToAction("Index");

}

在上面的代码中,我们使用 [HttpDelete] 特性来标记 Delete 动作方法。这样,当我们收到一个 DELETE 请求时,ASP.NET MVC 将自动将请求中的数据绑定到参数中,并将其作为参数传递给我们的动作方法。

在动作方法中,我们可以根据参数中的数据来删除对应的商品。完成删除后,我们同样可以通过 RedirectToAction 方法来重定向用户到商品列表页面。

在 ASP.NET MVC 中,我们可以使用 PUT 和 DELETE 请求来实现更新和删除操作。通过在表单中添加一个隐藏的 input 元素,并将其值设置为对应的 HTTP 动词,我们可以将表单提交的方法设置为 PUT 或 DELETE。在控制器中,我们可以使用 [HttpPut] 和 [HttpDelete] 特性来标记对应的动作方法,以便 ASP.NET MVC 可以正确地处理这些请求。这样,我们就可以方便地使用 HTML 表单来进行更新和删除操作了。