我有一个带有2个动作结果方法的控制器。 httpget操作将我的视图带到我的视图中以输入数据然后提交到我的数据库。我提交时应该调用httppost,如果我有[allowanonymous]属性但我希望用户必须登录才能提交,所以我删除了允许重新发送到登录页面的allowanonymous。这有效,但是当我登录时,它会将我重定向回httpget方法,而不是重定向到httppost方法。我希望它采用httppost方法,我做错了什么?
/// show form to enter in data
[HttpGet]
[AllowAnonymous]
public ActionResult AddYogaSpace()
{
return View();
}
/// <summary>
/// to save entered YogaSpace data
/// </summary>
[HttpPost]
//[AllowAnonymous] want user to login before submitting to db
public ActionResult AddYogaSpace(CreateYogaSpaceViewModel createYogaSpaceViewModel)
{
// submit code here to repository
return View();
}
我也尝试过使用
@using (Html.BeginForm("AddYogaSpace", "YogaSpace", FormMethod.Post))
在视图中,但这不起作用
答案 0 :(得分:-1)
您无法让应用程序记住发布到“登录”页面的数据,并在身份验证后进一步发布。
实现此目的的唯一方法是在重定向到“登录”页面之前保存所有发布的数据,然后检查是否存在此数据(登录后)。如果数据存在,您应该处理它并显示相应的视图。