【发布时间】:2016-07-10 15:20:29
【问题描述】:
我正在使用带有 C# 的 ASP.NET Core MVC。
我的登录控制器上有一个功能,可以获取一个名为ReturnUrl 的参数。想法是,如果在用户登录时设置了它,那么我可以将它们重定向回页面。直截了当。
代码如下所示:
[HttpGet]
[AllowAnonymous]
public IActionResult Login(string returnUrl = null)
{
...
}
但是,登录功能由 MVC 处理,主要内容是使用 Angular(版本 1 而不是 2)。我的应用程序中的路由是(例如)http://localhost/#/location1。
如果我用http://localhost/Login/?returnUrl=http://localhost/#/location1(同样,只是一个例子)访问我的 MVC 登录页面,那么我在returnUrl 参数中得到的只是http://localhost/。它会从 # 符号开始删除任何内容。
任何想法如何阻止代码在# 符号处自动转义并将完整的 url 作为returnUrl 对象?
【问题讨论】:
-
请不要将asp.net-mvc 用于与ASP.NET Core MVC 相关的标签,它是asp.net-core-mvc。 asp.net-mvc 用于旧版 ASP.NET MVC webstack。也不要在问题标题中添加标签
标签: c# routing asp.net-core asp.net-core-mvc request.querystring