asp.net如何重定向或访问页面,只要还有在用户已登录

发布时间: 2016/7/19 5:52:08
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有三个页面 ( Home, Register, Store ) 相互联系。在主页上提供对保存在数据库中的预现有用户选项的日志。有人可以访问存储页面,如果唯一的日志中成功,否则单击存储页中什么都不做,(只是坚持在同一主页)。

Home.aspx.cs:

  protected void Button1_Click(object sender, EventArgs e)//login
    {
        SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\lab1.mdf;Integrated Security=True");
        SqlCommand cmd = new SqlCommand();
        cmd.CommandText = "SELECT * FROM userdata WHERE username='" + TextBox1.Text + "'";
        cmd.Connection = conn;
        //cmd.ExecuteNonQuery();

        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            //Session["name"] = dt.Rows[0]["userName"].ToString();
            Response.Redirect("Store.aspx?name=" + TextBox1.Text + "");
        }
        else
        {
            Response.Redirect("Register.aspx");
        }
    }

Home.aspx:

 <p><a href="Home.aspx">Home</a> <a href="Register.aspx">Register</a> <a href="Store.aspx">Store</a></p>

Store.aspx:

 <p><a href="Home.aspx">Home</a> <a href="Register.aspx">Register</a> <a href="Store.aspx">Store</a></p>

解决方法 1:

有两种方式之一是创建一个类并定义一个静态字段和另一个方法是会话,但我宁愿为登录会话

首先,您将创建会话例如

if (dt.Rows.Count > 0)
        {

            Response.Redirect("Store.aspx?name=" + TextBox1.Text + "");
            Session["UserAuthentication"] = true;
        }

和现在检查每一页上的或如果您有母版页 .cs 文件中添加代码以检查天气 UserAuthentication 如果真实与否,别忘了添加到代码 Page_Load 的 cs 文件

添加一个检查

 if (Convert.ToBoolean(Session["UserAuthentication"]) == false)
    {
        Response.Redirect("Register.aspx");
    }
官方微信
官方QQ群
31647020