我想在MVC Controller中接受我的查询字符串值。我也尝试将其作为参数,但也不接受。因为我想确认此登录请求来自收件箱。
"../../fonts";
我的MVC控制器
http://localhost:58692/Account/Login?returnFrom=#inbox
答案 0 :(得分:1)
它不起作用,因为#
之后的所有内容都是客户端。 URL中的#
定义了指向锚点的链接,#
后面的查询字符串将不会发送到IIS服务器。由于这是客户端,您需要从URL中转义#
- 您无法在服务器上获取它,因为浏览器已将其剥离。试试这个:
http://localhost:58692/Account/Login?returnFrom=inbox
为此,您需要编写一些JavaScript代码,因此您可以使用this technique。
答案 1 :(得分:0)
您需要有两个登录操作(GET和POST):
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
if (Request.QueryString["returnFrom"] != null)
{
// return the Login view...
}
}
[HttpPost]
public ActionResult Login(User user)
{
// Check if the user is authorized...
}
而且,正如Sirwan所说,您需要从网址中删除#
:
http://localhost:58692/Account/Login?returnFrom=inbox