2013-12-17 168 views
1

我創建簡單的登錄頁面,但我與用戶ID登錄得到了問題如何獲得登錄用戶ID C#

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 [email protected] and [email protected]", 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>"); 
     } 

    } 
} 

我怎樣才能獲得的用戶ID登錄(IM能夠登錄)後?我試過一些方法,但它不會工作;(

我的數據庫:

enter image description here

+0

你有什麼錯誤? – Steve

+0

你嘗試過什麼,但沒有成功? – kaptan

+0

兩個答案(來自用戶luke2012和user733659)幫助我,謝謝你幫助新手! – user2121038

回答

4

您可以在用戶名存儲在Session VAR iable。例如:

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

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

然後你可以檢索它在以下網頁一樣:

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

謝謝,它是我所需要的! – user2121038

+1

您可能希望在您的'txtUserName.Text.Trim()'中添加'Trim'來排除任何前導或尾隨空格。 – luke2012

2

根據你提供你所要做的僅僅是提取含有記錄的數據表中的行數據信息在用戶

例如:

//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()); 
+0

謝謝你的幫助! – user2121038