当我按下后退按钮时,页面会在登录后返回 [英] When I press back button the pages goes back after login

查看:76
本文介绍了当我按下后退按钮时,页面会在登录后返回的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  protected   void  btn_login_Click(对象发​​件人,EventArgs e)
{
string UserName = TextBox_user_name.Text.Trim();
string Password = TextBox_password.Text.Trim();
SqlConnection con = new SqlConnection(strConnString);

con.Open();
str = 选择用户名,登录密码;
com = new SqlCommand(str);
sqlda = new SqlDataAdapter(com.CommandText,con);
dt = new DataTable();
sqlda.Fill(dt);
RowCount = dt.Rows.Count;
for int i = 0 ; i < RowCount; i ++)
{
UserName = dt.Rows [i] [ UserName]。ToString();
密码= dt.Rows [i] [ 密码]。ToString();
if (UserName == TextBox_user_name.Text&& Password == TextBox_password.Text)
{
Session [ UserName] = UserName;
Response.Redirect( 〜/ Admin / Dashbord.aspx);
}
else
{
lb1.Text = 无效的用户名或密码!请再试一次!;
}
}
}



这里我的问题是我登录时页面转到/Admin/Dashbord.aspx但是当我按Back按钮,页面返回Login.aspx。

我的第二个问题是当我把页面的URL即〜/ Admin / Dashbord.aspx然后页面打开如何停止这两个问题

解决方案

解决方案取决于您对这些案例的要求。例如,如果在仪表板中单击后退按钮,则需要将其重新加载到仪表板,您可以执行的操作是,在登录页面page_load事件中,您可以检查会话[UserName],如果它存在,则重定向到仪表板页面。



限制直接访问Dashboard页面你可以在Dashboard页面的page_load事件中查看Session [UserName],如果它不存在则将用户重定向到登录页面。



 受保护  void  Page_Load( object  sender,EventArgs e)
{
if (会话[ UserName] == null
{
Response.Redirect( 〜/ Login.aspx); // 提供正确的网址
}
}


protected void btn_login_Click(object sender, EventArgs e)
        {
            string UserName = TextBox_user_name.Text.Trim();
            string Password = TextBox_password.Text.Trim();
            SqlConnection con = new SqlConnection(strConnString);

            con.Open();
            str = "Select UserName,Password from  Login";
            com = new SqlCommand(str);
            sqlda = new SqlDataAdapter(com.CommandText, con);
            dt = new DataTable();
            sqlda.Fill(dt);
            RowCount = dt.Rows.Count;
            for (int i = 0; i < RowCount; i++)
            {
                UserName = dt.Rows[i]["UserName"].ToString();
                Password = dt.Rows[i]["Password"].ToString();
                if (UserName == TextBox_user_name.Text && Password == TextBox_password.Text)
                {
                    Session["UserName"] = UserName;
                    Response.Redirect("~/Admin/Dashbord.aspx");
                }
                else
                {
                    lb1.Text = "Invalid User Name or Password! Please try again!";
                }
            }
        }


Here my problem is when I login The page goes to /Admin/Dashbord.aspx but when I press The Back button the the page goes back to Login.aspx.
My Second problem is When I put the URL of the pages i.e.~/Admin/Dashbord.aspx then also the page opens how to stop these two problems

解决方案

solution is depend on what is your requirements on those cases. for example in case of back button click in dashboard you need to reload it back to dashboard what you can do is, in the login page page_load event you can check the Session["UserName"] and if it is exist then redirect to dashboard page.

to restrict direct access to Dashboard page you can check Session["UserName"] in page_load event of Dashboard page and if it is not exist then redirect user to login page.

protected void Page_Load(object sender, EventArgs e)
{
    if(Session["UserName"] ==null)
    {
       Response.Redirect("~/Login.aspx"); // give correct url
    }
}


这篇关于当我按下后退按钮时,页面会在登录后返回的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆