响应.重定向,不要把我转到下一页
本文关键字:一页 重定向 响应 | 更新日期: 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,然后它把我注销了。那么问题就解决了,在你所有的时间里