Be careful where you put your ASP.Net updatepanels

I just spent several hours trying to understand why an update panel I had placed on one page was working perfectly while another that I had practically copied and pasted insisted on refreshing the entire page. After some digging around I decided I should cut down the page piece by piece. I soon discovered that the update panel functioned correctly in this case:

<asp:UpdatePanel ... > ... </asp:UpdatePanel>
<table>
...
</table>

And would not function properly in this case:

<table>
<asp:UpdatePanel ... > ... </asp:UpdatePanel>
...
</table>

Upon reviewing the HTML source it was clearly apparent what the problem was:

<table>
<div ...> ... </div>
...
</table>

So apparently if you're going to put an update panel inside a table you need to make sure it's inside a cell tag. Now that I see what the issue was I feel kind of foolish. Hopefully someone else finds this article and doesn't spend as much time scratching their head over this as I just did.