Search code examples
asp.netupdatepanel

How to update a control outside of an UpdatePanel?


I want to show some text in a TextBox located outside of an UpdatePanel, after checking a CheckBox in said UpdatePanel, but I cannot make it work.

Here is my code:

<asp:UpdatePanel runat="server" ID="uplMaster">
    <ContentTemplate>
        <asp:CheckBox ID="cbShowText" runat="server" Text="Show Some Text" AutoPostBack="true"
            OnCheckedChanged="cbShowText_CheckedChanged" />
    </ContentTemplate>
</asp:UpdatePanel>
<asp:TextBox ID="txtBox" Text="Empty" runat="server" />

Code Behind:

protected void cbShowText_CheckedChanged(object sender, EventArgs e)
{
    txtBox.Text = "Some Text";
}

How can I achieve this?


Solution

  • I put the TextBox in another UpdatePanel and then called the Update method:

    Here is my new code:

    <asp:UpdatePanel runat="server" ID="uplMaster" UpdateMode="Always">
        <ContentTemplate>
            <asp:CheckBox ID="cbShowText" runat="server" Text="Show Some Text" AutoPostBack="true" OnCheckedChanged="cbShowText_CheckedChanged" />
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel runat="server" ID="uplDetail" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="txtBox" Text="Empty" runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
    

    Code Behind:

    protected void cbShowText_CheckedChanged(object sender, EventArgs e)
    {
        txtBox.Text = "Some Text";
        uplDetail.Update();
    }