У меня есть элемент управления меткой на странице (test1.aspx), на которой есть главная страница. Я хочу получить доступ к элементу управления метками из кода, расположенного позади страницы test1.aspx (а не главной страницы) с помощью FindControl.Найти элемент управления Label внутри ContentBody
Я могу заставить его работать напрямую, используя Button2 (см. Ниже), но я хочу, чтобы это можно было использовать с помощью FindControl (см. Button1 ниже). Я получаю исключение NULLReference, которое я считаю, потому что я не знаю правильного синтаксиса, чтобы нацелить элемент управления меткой внутри элемента управления содержимым.
На странице без главной страницы я бы просто использовал FindControl («MenuItemName1»), но поскольку элемент управления находится в Content3/ContentBody, я считаю, что мне нужно больше. Любая помощь будет принята с благодарностью.
<%@ Page Title="" Language="VB" MasterPageFile="~/Shared/MasterPages/SiteLayout.Master" AutoEventWireup="false" CodeFile="Test1.aspx.vb" Inherits="Test1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="StyleSheetPage" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentBody" Runat="Server">
<asp:Label ID="lblMenuItemName1" runat="server" Text="Label"></asp:Label><br /><br />
<asp:Button ID="Button1" runat="server" Text="Button" /><br /><br />
<asp:Button ID="Button2" runat="server" Text="Button" />
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="JavaScriptPage" Runat="Server">
</asp:Content>
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim C As Content
C = CType(Me.FindControl("Content3"), Content)
Dim lblMenuItemName As Label = C.FindControl("lblMenuItemName1")
lblMenuItemName.Text = "hello"
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
lblMenuItemName1.Text = "Direct"
End Sub