簡體   English   中英

如果只有登錄用戶,如何重定向或訪問頁面

[英]How to redirect or visit page if only there is a logged in user

我有彼此鏈接的三個頁面( 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>

有兩種方法,一種是創建一個類並定義一個靜態字段,另一種方法是會話,但我希望使用會話進行登錄

首先,您將創建一個會話,例如

if (dt.Rows.Count > 0)
        {

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

現在檢查每一頁,或者.cs文件中是否包含母版頁,添加代碼以檢查天氣UserAuthentication是否為真,並記住將代碼添加到cs文件的Page_Load

添加支票

 if (Convert.ToBoolean(Session["UserAuthentication"]) == false)
    {
        Response.Redirect("Register.aspx");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM