回发后返回returnUrl问题

时间:2016-08-15 21:30:28

标签: c# asp.net-mvc

控制器具有Authorize属性和两个用于获取和发布的操作

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

  [HttpPost]
  public ActionResult Edit(MyModel model){
  ...
  }
}

当会话过期且用户提交表单时,returnUrl包含MyController.Edit(没有ID),并在登录后尝试重定向到它。由于我在get操作中需要id参数,因此我有以下错误

  

System.ArgumentException参数字典包含null   非可空类型'System.Int32'的参数'id'的条目   方法'System.Web.Mvc.ActionResult.Edit(Int32)。

这个问题有什么共同的解决方案吗?我不希望我的所有get操作都有 nullable id参数,并检查它是否有价值。

编辑:我的表单html如下所示:

@using (Html.BeginForm("Edit", "MyConroller", FormMethod.Post, new { enctype = "multipart/form-data", @class = Model.IsReadonly ? "ro-container" : "track-changes"}))
{}

0 个答案:

没有答案