Asp.net 根据情况选择的回发URL
我控制数据库中是否存在用户。如果它不存在,我想留在登录页面。如果它存在,我想转到Default.aspx页面Asp.net 根据情况选择的回发URL,asp.net,Asp.net,我控制数据库中是否存在用户。如果它不存在,我想留在登录页面。如果它存在,我想转到Default.aspx页面 protected void BtnLogin_Click(object sender, EventArgs e) { if(condition is okey) { // go default.aspx } else { //stay this page } } 我可以在评论栏上写些什么来实现这一
protected void BtnLogin_Click(object sender, EventArgs e)
{
if(condition is okey)
{
// go default.aspx
}
else
{
//stay this page
}
}
我可以在评论栏上写些什么来实现这一点?
谢谢 听起来你只是想做一个重定向:
protected void BtnLogin_Click(object sender, EventArgs e)
{
if(myCondition)
{
Response.Redirect("/default.aspx");
}
else
{
//stay this page
}
}
如果您想保留POST数据,可以使用服务器.Transfer
(注意:根据您的编辑,听起来这不是您需要的-我想您只需要响应。重定向
):
请注意,这样传输帖子的处理程序不会导致浏览器重定向,因此不会更改浏览器URL
如果您需要实际发布到另一个URL并更新浏览器,则需要使用跨页回发(使用表单元素上的
action
属性)直接发布到该URL,在该页面上进行验证,如果验证失败,则重定向回原始页面。由于重定向条件以身份验证为中心,因此值得询问您是否查看了asp.net成员资格结构和登录控件。这是非常直接的设置,它将处理保持用户在登录页面上,并在成功时将他们带到默认位置。如果这符合您的需要,那么您最终会得到更干净、更可靠的代码,因为您的代码不是您自己的。
Server.Transfer("/default.aspx");