asp.net-mvc – HttpPost和HttpGet属性在MVC:为什么使用HttpPost?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – HttpPost和HttpGet属性在MVC:为什么使用HttpPost?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我们有[HttpPost],这是一个可选属性。我理解这限制了调用,所以它只能通过HTTP POST请求。我的问题是为什么我想这样做?

解决方法

想象以下:
[HttpGet]
public ActionResult Edit(int id) { ... }

[HttpPost]
public ActionResult Edit(MyEditviewmodel myEditviewmodel) { ... }

这是不可能的,除非ActionMethodSelectorAttributes HttpGet和HttpPost使用。
这使得创建编辑视图变得非常简单。所有操作链接只是指向控制器。如果视图模型验证为false,您只需再次弹出到编辑视图。

我将是大胆的,并说这是最好的做法,当涉及到CRUDish的东西在ASP.NET MVC。

编辑:

@TheLight问在视图中需要什么来完成这个职位。它只是一个带有方法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>

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

猜你在找的asp.Net相关文章