根据情况选择回发网址

时间:2014-04-28 17:48:53

标签: asp.net

我控制用户是否存在于数据库中。如果它不存在,我想留下登录页面。如果存在,我想去Default.aspx页面。

protected void BtnLogin_Click(object sender, EventArgs e)
{
    if(condition is okey)
    { 
        // go default.aspx
    } 
     else
    { 
        //stay this page
    }
}

我可以在评论专栏上写些什么来实现这个目标? 谢谢!

1 个答案:

答案 0 :(得分:2)

听起来你只是想做一个重定向:

protected void BtnLogin_Click(object sender, EventArgs e)
{
    if(myCondition)
    { 
        Response.Redirect("/default.aspx");
    } 
    else
    { 
        //stay this page
    }
}

如果您想保留POST数据,可以使用Server.Transfer代替(注意:根据您的修改,不会听起来像这就是您所需要的 - 我想你只需要Response.Redirect):

Server.Transfer("/default.aspx");

请注意,像这样传输POST的处理程序 not 会导致浏览器重定向,因此不会更改浏览器URL。

如果您需要实际POST到其他网址并更新浏览器,则需要使用跨页回发直接发布到该网址(使用表单元素上的action属性),在该页面上验证,然后在验证失败时重定向回原始页面。