How do I make independent Update Panels?
<p>As far as I understand UpdatePanels, they should be invalidated separately, i.e. triggerring one UpdatePanel should not touch the controls of the other panel. It does work so for controls outside of any UpdatePanels, however those which are inside ANY UpdatePanel are touched by triggering ANY UpdatePanel:</p>

<pre><code>    &lt;form id="form1" runat="server"&gt;
&lt;asp:ScriptManager ID="SM1" runat="server"/&gt;
&lt;div&gt;
    &lt;asp:TextBox ID="TextBox3" runat="server"&gt;&lt;/asp:TextBox&gt;
    &lt;asp:UpdatePanel ID="update1" runat="server"&gt;
        &lt;ContentTemplate&gt;
            &lt;asp:TextBox ID="TextBox1" runat="server"&gt;&lt;/asp:TextBox&gt;
            &lt;asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /&gt;
        &lt;/ContentTemplate&gt;
    &lt;/asp:UpdatePanel&gt;
    &lt;asp:UpdatePanel ID="update2" runat="server"&gt;
        &lt;ContentTemplate&gt;
            &lt;asp:TextBox ID="TextBox2" runat="server"&gt;&lt;/asp:TextBox&gt;
            &lt;asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" /&gt;
        &lt;/ContentTemplate&gt;
    &lt;/asp:UpdatePanel&gt;
&lt;/div&gt;
&lt;/form&gt;
</code></pre>

<p>Code behind:</p>

<pre><code>        protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        TextBox1.Text = "Clicked 1";
        TextBox2.Text = "Shouldn't appear";
        TextBox3.Text = "Neither should this";
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        TextBox2.Text = "Clicked 2";
        TextBox1.Text = "Shouldn't appear";
        TextBox3.Text = "Neither should this";
    }
</code></pre>

<p>"Neither should this" does not appear, however "Shouldn't appear" appears :(. Can anybody help me understand what causes this behavior?</p>
