(这是一个更狭窄的问题)
在我的asp.net MVC操作中,我正在查看URL中是否包含ReturnUrl值。
我的网址看起来像这样:
http://localhost:56112/user/login?ReturnUrl=/user/settings
在我的行动中,我正在寻找该querystring值是否存在,并且它返回NULL?怎么会这样?
编码:
if(Request.QueryString["ReturnUrl"] != null)
{
}
跟踪应用程序,它只是跳过if语句的主体,即它为NULL。
如何解释呢?
更新
在检查用户是否已登录的 Controller 中,我有一个类似于以下内容的ActionFilter:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
// some stuff
string loginUrl = FormsAuthentication.LoginUrl + "/user/settings;
context.Response.Redirect(loginUrl);
}
最佳答案
尝试调试代码-您应该能够在调试器中看到QueryString参数的完整列表,因此可以查看是否遗漏了它。
关于asp.net - 为什么Request.QueryString ["ReturnUrl"]即使在URL中也返回NULL呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2162712/