Response.Redirect重定向到不存在的页面

时间:2012-02-14 18:25:21

标签: asp.net jquery-mobile response.redirect

我正在对一些用户数据进行简单的检查,这些用户数据会在登录时进入会话状态。如果发生这种情况,我点击几个按钮即可进入此页面。此页面的下拉列表设置为autopostback=true

当我在drop中更改我的选择时,我的请求被重定向到不存在的页面。 signin.aspx存在于网站的根文件夹中。尝试重定向在此特定页面所在的文件夹中查找登录(example.com/folder1/signin.aspx),而不是example.com/signin.aspx。

我应该使用Response.Redirect之外的其他内容来完成此操作吗?

关于申请的附注:

这是使用jquery 1.6.4和jquerymobile 1.0的.net 4。我认为jquery mobile是问题所在,因为我在其他应用程序上使用相同的模式/练习而没有问题。

  

发生这种情况的页面位置。   example.com/folder1/page2.aspx

     

登录页面的位置:example.com/signin.aspx

     

错误中显示的网址。 example.com/folder1/signin.aspx

protected override void OnInit(EventArgs e)
{

    if (Session["UserData"] == null)
    {
        Response.Redirect("../SignIn.aspx");
    }

}

3 个答案:

答案 0 :(得分:3)

您应该始终使用asp.net样式的根相对路径:

Response.Redirect("~/SignIn.aspx");

这使得URL相对于您网站的根目录(除非您的网站是网络根目录,而不是网络根目录),但仍允许网站移动。

答案 1 :(得分:1)

jquery不会影响服务器端的response.redirect。您确定该页面存在,因为它在您的代码中设置了吗?如果signin.aspx位于网站的根目录中,您能不能简单地执行此操作吗?

Response.Redirect("/SignIn.aspx");

答案 2 :(得分:1)

试试这个

protected override void OnInit(EventArgs e)
{


    if (Session["UserData"] == null)
    {
        Response.Redirect("~/SignIn.aspx");
    }

}