【RickTsuei】寫一個簡單的ASP.NET Web應用程式線上使用者列表控制元件

iDotNetSpace發表於2008-07-09
新增一個顯示所有線上使用者列表的使用者控制元件。

控制元件的HTML外觀很簡單,分為兩個Label控制元件:第一個lblOnlineUsersNum表示線上使用者數,第二個lblOnlineUsers表示線上使用者列表的字串。我們直接來看程式碼就可以了。
 1 Public Partial Class OnlineUsers
 2     Inherits System.Web.UI.UserControl
 3 
 4     Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
 5 
 6         If Not IsPostBack Then
 7             ''宣告線上使用者集合
 8             Dim altUsersOnline As New ArrayList
 9             ''遍歷所有使用者
10             For Each user As MembershipUser In Membership.GetAllUsers
11                 If user.IsOnline Then
12                     ''如果使用者線上則新增入線上使用者集合
13                     altUsersOnline.Add(user)
14                 End If
15             Next
16 
17             Dim strUsersOnline As String = String.Empty
18 
19             If altUsersOnline.Count > 0 Then
20                 ''如果存在線上使用者把第一個使用者的使用者名稱付給字串
21                 strUsersOnline = DirectCast(altUsersOnline(0), MembershipUser).UserName
22             End If
23 
24             ''便利其餘所有線上使用者
25             For index As Integer = 1 To altUsersOnline.Count - 1
26                 ''將其他線上使用者的名字新增到線上使用者列表的字串中
27                 strUsersOnline += "" & DirectCast(altUsersOnline(index), MembershipUser).UserName
28             Next
29 
30             lblOnlineUsersNum.Text = Membership.GetNumberOfUsersOnline()
31 
32             If Not String.IsNullOrEmpty(strUsersOnline) Then
33                 lblOnlineUsers.Text = strUsersOnline
34             Else
35                 lblOnlineUsers.Text = "No user has been logged in."
36             End If
37 
38         End If
39     End Sub
40 
41 End Class

如此我們就實現了一個最簡單的使用者列表,如果想實現的複雜一些,可以在ASP.NET Profile中定製使用者的頭像,然後通過頭像屬性用頭像或者ICON的圖片和使用者名稱一起表示的方式來顯示線上使用者,也是很切合實際的功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-374693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章