gpt4 book ai didi

asp.net-mvc - MVC 中的 HttpPost 与 HttpGet 属性 : Why use HttpPost?

转载 作者:行者123 更新时间:2023-12-03 07:16:30 26 4
gpt4 key购买 nike

所以我们有[HttpPost],这是一个可选属性。我知道这会限制调用,因此只能通过 HTTP POST 请求进行调用。我的问题是我为什么要这样做?

最佳答案

想象一下以下情况:

[HttpGet]
public ActionResult Edit(int id) { ... }

[HttpPost]
public ActionResult Edit(MyEditViewModel myEditViewModel) { ... }

这是不可能的,除非 ActionMethodSelectorAttributes 使用 HttpGetHttpPost 的地方。这使得创建编辑 View 变得非常简单。所有操作链接都直接指向 Controller 。如果 View 模型验证为 false,您只需再次弹出到编辑 View 。

我会大胆地说,当涉及 ASP.NET MVC 中的 CRUDish 事物时,这是最佳实践。

编辑:

@TheLight 询问 View 中需要什么来完成这篇文章。它只是一个带有 POST 方法的表单。

使用 Razor,这看起来像这样。

@using (Html.BeginForm())
{
<input type="text" placeholder="Enter email" name="email" />
<input type="submit" value="Sign Up" />
}

这将呈现以下 HTML:

<form action="/MyController/Edit" method="post">    
<input type="text" name="email" placeholder="Enter email">
<input type="submit" value="Sign Up">
</form>

当表单提交时,它将向 Controller 执行 Http Post 请求。具有 HttpPost 属性的操作将处理该请求。

关于asp.net-mvc - MVC 中的 HttpPost 与 HttpGet 属性 : Why use HttpPost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com