试图从另一个重定向到post方法

时间:2017-10-06 13:52:03

标签: c# asp.net-mvc-4 post

我正在尝试从另一个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);
}

当我在服务器错误中调用操作结果时:

enter image description here

2 个答案:

答案 0 :(得分:1)

正如已经提到的那样,你不能按设计重定向帖子。

现在我将提出解决问题的方法:

在我看来,您正在创建一个新用户,然后将其重定向到可以编辑其信息的位置。登陆操作不需要使用帖子。从那个中删除[HttpPost],你应该好好去。

使用[HttpPost]进行另一项操作并处理更新。

如果您实际上是在尝试保存属性,那么将用户信息更新的代码抽象为私有方法,并从两个位置调用它。

答案 1 :(得分:0)

重定向到目的地作为POST没有意义。通过向浏览器返回302响应以及重定向到的链接来完成重定向。然后浏览器执行GET,这是您所看到的。