在ASP.NET 2.0中有個新的控制項LoginView
它可以依據目前的使用者登入狀態,分別給予不同的Web控制項放入其中,這樣的功能非常好用
不過,由於Web控制項以幾放入在LoginView之中,所以該控制項(假設是Login1)已經無法透過
Me.Login1來取得該控制項
那麼應該要如何才能取得該控制項呢?可以用以下的方式
(在LoginView中,在已經登入的狀態中,放入一個Label控制項,名稱為Label1,並在LoginView外安排一個button,當使用者登入後,按下此按鈕,希望把目前登入的使用者UserName放入Label1中)
If Page.User.Identity.Name.ToString <> ""
Then
'判斷使用者是否已經登入
Dim lbl1
As WebControls.Label
'定義一個lbl1變數為WebControls中的Label控制項 
lbl1 =
Me.LoginView1.Controls(
"Label1")
'****取得Label1控制項****
'lbl1 = Me.LoginView1.FindControl("Label1") '也可使用FinControl的方式 
lbl1.Text = Page.User.Identity.Name.ToString
'將目前的登入使用者名稱放入
Else '使用者沒有登入 
Response.Write(
"使用者尚未登入,請先行登入!!")
End If 另外如果是已經安排好的Login物件,Id是Login1的話,要透過FindControl的方式