响应.重定向,不要把我转到下一页

本文关键字:一页 重定向 响应 | 更新日期: 2023-09-27 18:18:31

我遇到了一个大问题,我只是不知道该怎么做了。在我添加登录系统响应之前。"重定向"效果很好。但是我知道登录工作正常,我在它上运行调试,所有文件工作正常,正常运行。

编辑1:我注意到如果我注释Master.UserLogin(arr);从默认的btnLogin_click中取出并键入Server.Transfer(@"~'Admin'Side.aspx");它再次工作,但我不明白为什么使一个会议将停止响应?

编辑2:好吧,所以它似乎要做的事情与网站。master.cs在那里我创建会话变量,并尝试重定向到另一个页面后。我怎么解决这个问题?

Default.aspx.cs

protected void btnLogin_Click(object sender, EventArgs e)
{
    db.ConnOpenHelpdesk();
    if (db.HelpdeskDBLogin(txtBrugernavn.Text, txtPassword.Text).Count() == 8)
    {
        if (db.HelpdeskDBLogin(txtBrugernavn.Text, txtPassword.Text)[7] == "2" || db.HelpdeskDBLogin(txtBrugernavn.Text, txtPassword.Text)[7] == "1")
        {
            Master.UserLogin(db.HelpdeskDBLogin(txtBrugernavn.Text, txtPassword.Text));
        }
    }
    else
    {
        db.ConnCloseHelpdesk();
        lblError.ForeColor = Color.Red;
        lblError.Visible = true;
        lblError.Text = "Dit Brugernavn og Password passer ikke sammen prøv igen.";
    }
    //Master.UserLogin(txtBrugernavn.Text, txtPassword.Text);
}

DBControl.cs

public string[] HelpdeskDBLogin(string brugernavn, string password)
{
    string sql = "SELECT * FROM Admin WHERE Brugernavn = '" + brugernavn + "' AND Password = '" + password + "'";
    SqlCommand command = new SqlCommand(sql, m_helpdeskconnection);
    SqlDataReader reader = command.ExecuteReader();
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            arr = new string[8] { "" + reader["ID"], "" + reader["Brugernavn"], "" + reader["Password"], "" + reader["Email"], "" + reader["TelefonNr"], "" + reader["Navn"], "" + reader["Nytpass"], "2" };
        }
        reader.Close();
        return arr;
    }
    else
    {
        reader.Close();
        string sql2 = "SELECT * FROM Kunder WHERE Brugernavn = '" + brugernavn + "' AND Password = '" + password + "'";
        SqlCommand command2 = new SqlCommand(sql2, m_helpdeskconnection);
        SqlDataReader reader2 = command2.ExecuteReader();
        if (reader2.HasRows)
        {
            while (reader.Read())
            {
                arr = new string[8] { "" + reader["KundeNr"], "" + reader["Brugernavn"], "" + reader["Password"], "" + reader["Email"], "" + reader["TelefonNr"], "" + reader["Navn"], "" + reader["Nytpass"], "1" };
            }
            reader2.Close();
            return arr;
        }
        else
        {
            reader2.Close();
            string[] arr = new string[1];
            return arr;
        }
    }
}

Site.Master.cs

public void UserLogin(string[] arr)
{
    if (arr[7] == "1")
    {
        Session["Kundenr"] = arr[0];
        Session["Brugernavn"] = arr[1];
        Session["Email"] = arr[3];
        Session["TelefonNr"] = arr[4];
        Session["Kundenavn"] = arr[5];
        Session["Nytpass"] = arr[6];
        Session["Rang"] = arr[7];
        Response.Redirect(@"~'Bruger'Side.aspx");
    }
    else if (arr[7] == "2")
    {
        Session["Kundenr"] = arr[0];
        Session["Brugernavn"] = arr[1];
        Session["Email"] = arr[3];
        Session["TelefonNr"] = arr[4];
        Session["Kundenavn"] = arr[5];
        Session["Nytpass"] = arr[6];
        Session["Rang"] = arr[7];
        Response.Redirect(@"~'Admin'Side.aspx");
    }
}

响应.重定向,不要把我转到下一页

您没有设置身份验证cookie。结果,您的用户被重定向回登录屏幕,因为他没有权限查看您的网站的内部页面。

好了,我找到问题所在了。我在字符串中创建了一个会话,但我在我的主页中测试了它,如果它是一个int,然后它把我注销了。那么问题就解决了,在你所有的时间里