Asp.net 访问内容页控件

Asp.net 访问内容页控件,asp.net,master-pages,Asp.net,Master Pages,我使用以下代码从母版页访问内容页内的控件 Button btn = (Button)ContentPlaceHolder2.FindControl("btnProceed"); btn.Text="test"; protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { Button btn = ContentPlaceHolder1.FindControl

我使用以下代码从母版页访问内容页内的控件

 Button btn = (Button)ContentPlaceHolder2.FindControl("btnProceed");
            btn.Text="test";
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        Button btn = ContentPlaceHolder1.FindControl("Button1") as Button;

        btn.Text = "Proceed";
    }

它确实在内容页内找到控件,并且运行时没有异常。但是按钮文本没有更改。在内容页中,BTNProced文本字段设置为继续。我需要的是,当我单击母版页内容页上的imageButton时,BTNProced按钮文本应该更改为测试,但当前没有发生。问题是什么出现此问题的原因?

您可以这样尝试

 Button btn= Master.FindControl("ContentPlaceHolder2").FindControl("btnProceed") as Button;
 btn.Text ="test"; 

内容页上的按钮是由标记创建的还是在运行时创建的? 如果它在标记中,则以下代码工作正常

它是母版页上的图像按钮单击处理程序

 Button btn = (Button)ContentPlaceHolder2.FindControl("btnProceed");
            btn.Text="test";
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        Button btn = ContentPlaceHolder1.FindControl("Button1") as Button;

        btn.Text = "Proceed";
    }
如果我们在content page.aspx中有如下内容:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Button ID="Button1" runat="server" Text="Button" />
</asp:Content>

是否正在更改加载页面上的文本?标签的文本属性设置为“继续”