Question: I created simple login page but I got problem with getting logged in user ID

```
public partial class LoginwithEncryption : System.Web.UI.Page
{
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conStr"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand(
            "select * from dbo.UserInfo where Login =@Login and Password=@Password", con);
        cmd.Parameters.AddWithValue("@Login", txtUserName.Text);
        cmd.Parameters.AddWithValue("@Password", txtPWD.Text);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            Response.Redirect("StartPage.aspx");
        }
        else
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "validation",
                "<script language='javascript'>alert('Invalid UserName and Password')</script>");
        }

    }
}

```

How can I get ID of user after login (im able to login) ? I tried few methods but it wont work ;(

My database:

![enter image description here](https://i.stack.imgur.com/yhs4K.jpg)

Answer: 
You could store the username in a `Session` variable. For example:

```
if (dt.Rows.Count > 0)
{
    //Store username in session
    Session["UserName"] = txtUserName.Text;

    Response.Redirect("StartPage.aspx");
}

```

You can then retrieve it on following pages like:

```
if (Session["UserName"] != null)
{
    Literal1.Text = (string)Session["UserName"];
}

```
Based on the info you have provided all you have to do is just extract the row data from the datatable containing the logged in user.

For example:

```
 //Extract data
 User objUser = new User();
 objUser.Id = int.parse(dt.Rows[0]["ID"].ToString());
 objUser.Login = dt.Rows[0]["Login"].ToString();
 objUser.Password = dt.Rows[0]["Password"].ToString();
 objUser.Type= int.parse(dt.Rows[0]["Password"].ToString());

```