2013-04-25 148 views
0

我做了一個小的自定義登錄在asp.net頁面,看代碼:顯示登錄的用戶asp.net

 Dim strCon As String = ConfigurationManager.ConnectionStrings("Goed").ConnectionString 


     'Create Connection String And SQL Statement 
     Dim strSelect As String = "SELECT COUNT(*) FROM tbl_LogIn WHERE Gebruiker = @Gebruiker AND Wachtwoord = @Wachtwoord" 

     Dim con As New SqlConnection(strCon) 
     Dim cmd As New SqlCommand() 
     cmd.Connection = con 
     cmd.CommandType = CommandType.Text 
     cmd.CommandText = strSelect 

     Dim Gebruiker As New SqlParameter("@Gebruiker", _ 
              SqlDbType.VarChar) 
     Gebruiker.Value = TxtUs.Text.Trim().ToString() 
     cmd.Parameters.Add(Gebruiker) 

     Dim Wachtwoord As New SqlParameter("@Wachtwoord", _ 
              SqlDbType.VarChar) 
     Wachtwoord.Value = TxtPw.Text.Trim().ToString() 
     cmd.Parameters.Add(Wachtwoord) 


     con.Open() 
     Dim result As Integer = DirectCast(cmd.ExecuteScalar(), Int32) 
     con.Close() 

     If result >= 1 Then 
      Response.Redirect("default.aspx") 
     Else 
      lblMsg.Text = "Gebruikers naam en of wachtwoord kloppen niet" 
     End If 

    End Sub 

正如你可以看到它引導到Default.aspx的。

在我的defaults.aspx頁面上有一個標題。在這個頭文件中,我想要一個小標籤來顯示已登錄的用戶,例如:Hello [User]這怎麼做?

+1

我建議你使用asp.net會員,而不是從頭開始。那麼您可以使用loginname控件來顯示登錄的用戶名,請檢查以下鏈接:http://msdn.microsoft.com/en-us/library/ms178329(v = vs.100).aspx#the_loginname_control – 2013-04-25 09:02:14

+0

Just another請注意,我認爲你可能知道它,但始終將數據層與表示層分開。那就是不要把你的aspx頁面中直接跟你說的數據庫代碼放在一起。 – 2013-04-25 09:03:36

+0

是@HassanMokdad是對的,業務層,DAL和表示層必須是分開的。儘管我們每天都在嘗試和學習越來越多,我們可以習慣於這些常見做法 – 2013-04-25 09:10:02

回答

2

使用會話:

同時將新的頁面(在爲Login.aspx式按鈕的onClick事件)

Session["valueName"]=value; 

在新的頁面(在你的情況的Default.aspx)使用方法:

Label1.Text=Session["valueName"].ToString(); 

或者你可以使用cookies,以及:

創建:

Response.Cookies("userInfo")("userName") = "DiederikEEn" 
Response.Cookies("userInfo")("lastVisit") = DateTime.Now.ToString() 
Response.Cookies("userInfo").Expires = DateTime.Now.AddDays(1) 

閱讀:

If Not Request.Cookies("userName") Is Nothing Then 
    Label1.Text = Server.HtmlEncode(Request.Cookies("userName").Value) 
End If 

If Not Request.Cookies("userName") Is Nothing Then 
    Dim aCookie As HttpCookie = Request.Cookies("userName") 
    Label1.Text = Server.HtmlEncode(aCookie.Value) 
End If 

這裏更多:

  1. Cookies
  2. Sessions
+0

我必須把它放在'IF'中嗎? – DiederikEEn 2013-04-25 08:51:11

+0

沒有必要...檢查編輯@DiederikEEn – 2013-04-25 08:54:43

+0

都必須植入login.aspx? – DiederikEEn 2013-04-25 08:57:29

0

如果您可以在您的母版頁中創建標題,那麼您可以在那裏添加Hello [User]並呼叫會話。

+0

,究竟如何? – DiederikEEn 2013-04-25 08:45:41