2017-06-10 70 views
0

我拥有带有个人帐户的ASP.NET Core应用程序;非常类似于VS2017产生的结果。出于测试目的,我在属性上放置了[Authorize]属性。我按预期重定向到登录页面,并且我看到该URL为http://localhost:5000/Account/Login?ReturnUrl=%2FHome%2FAbout - 也如预期的那样。但是,在POST登录方法中,ReturnUrl为空。我在账户控制器登录方法:ASP.NET核心登录中ReturnUrl为空

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public async Task<IActionResult> Login(LoginInputModel model) { 
... 
} 

我也试过ReturnUrl作为参数明确,有或没有[FromQuery]。在所有排列中它是空的。 `<形式:

+0

你使用新{RETURNURL =的Request.QueryString [ “RETURNURL”]}在@ Html.BeginForm – hasan

回答

1

您应该确保您正在使用

Html.BeginForm("Login", "Account", new {ReturnUrl = Request.QueryString["ReturnUrl"] }) 


[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public async Task<IActionResult> Login(LoginInputModel model, string ReturnUrl) { 
... 
} 
+0

的看法与taghelpers产生当我将@ViewData [“ReturnUrl”]'改为''''''''''''''''''''''当我改变'@ViewData [“ReturnUrl”]时''ViewData [“ReturnUrl”]“ @ Model.ReturnUrl“开始工作。谢谢你指点我正确的方向! – Felix

+0

你的欢迎:) – hasan

相关问题