返回网址为空,如何获取

本文关键字:何获取 获取 返回 | 更新日期: 2023-09-27 18:36:24

我正在尝试获取返回URL,但可能我错过了一些东西。网络配置是:

 <authentication mode="Forms">
  <forms loginUrl="~/UserAccount/Login" timeout="2880" />
</authentication>
<authorization>
  <allow users="?" />
</authorization>

LogIn.cshtml的一部分是:

@model Models.UserModel
@{
// ViewBag.Title = "Home Page";
}
@using (Html.BeginForm("LogIn", "UserAccount", new { ReturnUrl =   Request.QueryString["ReturnUrl"] }, FormMethod.Post))
{
    <div>
        <table>

登录方法的一部分是:

  [HttpGet]
    public ActionResult LogIn(string ReturnUrl)
    {
        ViewBag.ReturnUrl = ReturnUrl;
        var model = new UserModel();
        return View(model);
    }

    [HttpPost]
    public ActionResult LogIn(UserModel model, string returnUrl)
    {            
        if (!ModelState.IsValid)

我认为这就是我必须做的所有事情,将返回URL到LogIn方法,但不起作用。我做错了什么?谢谢。

返回网址为空,如何获取

我不知道自定义授权属性在此过程中起着至关重要的作用,因此我进行了以下更改:

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        filterContext.Result = new System.Web.Mvc.RedirectResult("/UserAccount/LogIn/?ReturnUrl=" + filterContext.HttpContext.Request.Url.AbsolutePath);

现在它正在工作。