解决方法
想象以下:
[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属性的操作将处理请求。