gpt4 book ai didi

asp.net-mvc - ReturnUrl QueryString 在 MVC 4 中始终为空

转载 作者:行者123 更新时间:2023-12-01 08:12:51 25 4
gpt4 key购买 nike

我有一个使用 get 方法登录的操作方法:

public virtual ActionResult LogIn()
{
return View();
}

和 Post 方法的 action 方法,它在 Ajax 调用中使用 Ajax.BeginForm() 进行发布,例如:
[HttpPost]
[AjaxOnly]
[ValidateAntiForgeryToken]
public virtual ActionResult LogIn(LogInViewModel loginInfo, string returnUrl)
{
...
}

但是 returnUrl 总是为空!!!

我使用MVC 4。

这个问题的原因是什么?

最佳答案

您必须将 returnUrl 发送回服务器。例如,您的登录表单应将 returnUrl 作为参数:

@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
....
<input type="submit" value="Log in" />
}

之前在您的登录操作中保存在服务器端,作为使用 AuthorizeAttribute 的结果调用,并在查询字符串中传递 ReturnUrl:
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}

关于asp.net-mvc - ReturnUrl QueryString 在 MVC 4 中始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13499677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com