How do I update a control outside of the refresh panel?

I'm going to show some text in the TextBox that is outside the refresh area after checking the CheckBox, but I can't seem to get it to work. please help me?

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 for:

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

      

Thanks in advance: D

PS As you might have guessed I was like my problem and so I don't want to put TextBox in UpdatePanel

+2


a source to share


3 answers


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

Here's 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 for:

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

      

Hope it helps

+18


a source


The text box should also be in the update panel.

* Editing:



I am sorry that I misread your question. Perhaps write a javascript function and call the function from codebehind?

+2


a source


I know it has been a while since this was asked, but here's what I did. Like @bla, write a javascript function and call it from your code.

So, in your checked modified call. ChangeText is a javascript function in your page in the header or in a script file.

protected void cbShowText_CheckedChanged(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "Show Different Text", "changeText();", true);
}

      

Javascript example. It is simply called when it is verified that the changed event is fired from code.

<script type="text/javascript">
    function changeText() {
        var txt= document.getElementById('<%= txtBox.ClientID %>');
        var chk = document.getElementById('<%= cbShowText.ClientID %>');
        if (chk.checked === true) {
            txt.Text = "Something";
        } else {
            txt.Text = "Somethingelse";
        }
    }
</script>

      

Hope this helps someone.

+1


a source







All Articles