2013-04-25 145 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