簡體   English   中英

如何在主頁中使用當前用戶登錄

[英]how to do Log IN with current User in the masterpage

我該如何登錄當前用戶? 當前用戶將顯示在默認主頁的主頁中,並且該主頁中的標簽將繼承到該主頁的內容頁面。

這是我的登錄頁面的ASP代碼:

<div class="container-fluid">

<form class="form-signin" runat="server">
    <h1 class="form-signin-heading text-muted">Sign In</h1>
    <asp:TextBox ID ="email" runat="server" CssClass="form-control" placeholder="Email Address"></asp:TextBox>
    <asp:TextBox ID ="password" runat="server" CssClass="form-control" placeholder="Password" TextMode="Password"></asp:TextBox>
    <br />

    <asp:Button ID="btnLogIN" runat="server" CssClass="btn btn-primary btn-block" Text="Log In" OnClick="btnLogIN_Click" />

</form>

我的aspx.cs代碼在這里,我不知道這是否正確。

protected void btnLogIN_Click(object sender, EventArgs e)
    {
        Utility u = new Utility();
        string conn = u.connect();
        SqlConnection connUser = new SqlConnection(conn);
        SqlCommand read = connUser.CreateCommand();
        SqlDataReader reader = null;

        int empid = 0;
        string dbuser = "";
        string dbpword = "";

        string username = email.Text;
        string passwords = password.Text;

        string login = "Select * from MOSEFAccount where UserName = '" + username + "' AND Password = '" + passwords + "'";

        try
        {
            connUser.Open();
            read.CommandText = login;
            reader = read.ExecuteReader();
        }
        catch
        {
            Console.WriteLine("Error");
        }
        while (reader.Read())
        {
            empid = reader.GetInt32(0);
            dbuser = reader.GetString(1);
            dbpword = reader.GetString(2);
        }

        if (username == dbuser && passwords == dbpword)
        {

            Response.Redirect("~/Default.aspx?ID=" + empid);
        }
        else
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append(@"<script type ='text/javascript'>");
            sb.Append("alert('Invalid Account');");
            sb.Append(@"</script>");
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "EditHideModalScript", sb.ToString(), false);
        }
        connUser.Close();
    }

您能否詳細說明當前用戶的含義? 除非您登錄,否則您不是登錄用戶,而是匿名用戶。

更新:

將提取的數據存儲在Session對象中,並隨時隨地訪問。 例如:要存儲詳細信息,請使用:-

if (username == dbuser && passwords == dbpword)
{
    Session["UserName"] = username;
    Session["EmpId"] = empid;
    Response.Redirect("~/Default.aspx?ID=" + empid);
}

用於顯示用途(在母版頁中):

<%=Session["UserName"]%>
<%=Session["EmpId"]%>

您可以以此為基礎,例如創建User類,然后創建該類的實例並將該實例本身存儲在Session中。

暫無
暫無

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

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