我正在尝试从另一个post方法重定向到post方法,但似乎它正在尝试通过Get重定向:
[HttpPost]
[Route("Users/NewUser")]
[SystemAuthorize(PermissionForm = Form.USERS, Permissions = PermissionValue.EDIT)]
public ActionResult NewUser(ConsultUserModel m) //This is called from Consult View by post
{
Debug.WriteLine("I'm here post");
UserInfoModel model = GetUserInfoModel();
return RedirectToAction("Edit", model );
}
[HttpPost]
[Route("Users/Edit")]
[SystemAuthorize(PermissionForm = Form.USERS, Permissions = PermissionValue.EDIT)]
public ActionResult Edit(UserInfoModel edit)
{
return View(edit);
}
当我在服务器错误中调用操作结果时:
答案 0 :(得分:1)
正如已经提到的那样,你不能按设计重定向帖子。
现在我将提出解决问题的方法:
在我看来,您正在创建一个新用户,然后将其重定向到可以编辑其信息的位置。登陆操作不需要使用帖子。从那个中删除[HttpPost]
,你应该好好去。
使用[HttpPost]
进行另一项操作并处理更新。
如果您实际上是在尝试保存属性,那么将用户信息更新的代码抽象为私有方法,并从两个位置调用它。
答案 1 :(得分:0)
重定向到目的地作为POST没有意义。通过向浏览器返回302响应以及重定向到的链接来完成重定向。然后浏览器执行GET,这是您所看到的。