Comment trouver de contrôle de l'utilisateur d'un ASP.NET page à l'intérieur de l'événement d'un autre utilisateur le contrôle sur qui ASP.NET la page EDIT: les différents espaces réservés de contenu?

J'ai un ASP.NET page 2 les contrôles de l'utilisateur enregistré. Le premier n'a qu'un seul bouton. Le second est un texte simple et cachée par défaut. Ce que je veux, c'est faire de la seconde une visible lorsque le bouton dans le premier est activé (c'est sur l'événement clic du bouton).

ASP.NET page:

<%@ Page Title="" Language="C#" CodeFile="test.aspx.cs" Inherits="test" %>
<%@ Register Src="~/UC_button.ascx" TagName="button" TagPrefix="UC" %>
<%@ Register Src="~/UC_text.ascx" TagName="text" TagPrefix="UC" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MyTestContent" Runat="Server">
    <UC:button ID="showbutton1" runat="server" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MyTestContent2" Runat="Server">
    <UC:text runat="server" Visible="false" ID="text1" />
</asp:Content>

UC_Button.ascx.cs:

protected void button1_Click(object sender, EventArgs e)
{
    Button btnSender = (Button)sender;
    Page parentPage = btnSender.Page;
    UserControl UC_text = (UserControl)parentPage.FindControl("text1");
    UC_text.Visible = true;
}

Ce que je fais mal? Je reçois bien connu Object reference not set to an instance of an object. erreur sur la dernière ligne de code.

EDIT:

Une chose que j'ai oublié de le mentionner lors de la première affectation. Les contrôles de l'utilisateur dans les différentes <asp:Content></asp:Content> contrôles (j'ai édité supérieure exemple). Si je les mets dans le même espace réservé code fonctionne très bien. Si je les ai mis dans le séparer les espaces réservés de contenu, je ne peux pas les trouver en quelque sorte avec findcontrol. Pourquoi et comment puis-je les trouver?

OriginalL'auteur Janez | 2011-07-26