如何用程式控制ASP.NET 2.0 LoginView中的控制項

摘要:如何用程式控制ASP.NET 2.0 LoginView中的控制項

在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的方式
 


以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6) 
topcat
Blog:http://www.dotblogs.com.tw/topcat