[VB] 在MasterPage下使用FindControl找到控制項

摘要:[VB] 在MasterPage下使用FindControl找到控制項

今天在頁面上要動態修改多個Label的text值時發生了錯誤,

記得 Me.Page.FindControl("Label1") 是可以抓到物件的

查了一下發現是因為套了MasterPage的問題

Label在MasterPage下因為又包了一個ContentPlaceHolder

所以導致會找不到Label

更改了一下Find的方法如下:


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        For i As Integer = 1 To 3
            Dim lbl As New Label
            '無MasterPage使用
            'lbl = Me.Page.FindControl("Label" & i)
            '有MasterPage使用
            lbl = Me.Master.FindControl("ContentPlaceHolder1").FindControl("Label" & i)
            lbl.Text = i
        Next
    End Sub

如此就可以找到Label了,在此紀錄一下方法




以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)