An ASP.NET Page named SomePage.aspx is loaded inside a DIV. You can click on the buttons and see the page postbacks within the DIV just like an IFRAME. You can see the DataGrid on SomePage.aspx works just fine.
This should get replaced with content from Somepage.aspx
THIS IS NOT AN IFRAME <div class="UFrame" id="UFrame1" src="SomePage.aspx?ID=UFrame1" ></div>
Another instance of SomePage.aspx is loaded inside a DIV. This shows same page can be loaded many times within the same parent page. You will see the DataGrid within this instance also works fine without conflicting with the previous one
THIS IS NOT AN IFRAME <div class="UFrame" id="UFrame2" src="SomePage.aspx?ID=UFrame2" progressTemplate="<h1>Loading...</h1>"> </div>
Following loads Flickr photos and pages through them using regular postback. It shows ViewState and standard ASP.NET Postback Events works fine
Loading Flickr photos...
THIS IS NOT AN IFRAME <div class="UFrame" id="TestPage" src="AnotherPage.aspx" > </div>
Latest browsers do not allow form inside form. So, the main page that holds the UFrame, cannot have any form tag, if the child pages loaded inside UFrame has form tag. If the main page is an ASPX page and the UFrame'd pages are also ASPX pages, then you need to remove the form tag from the main page.
UFrame is like an IFRAME that can load and host a page (ASP.NET, PHP or regular html) inside a DIV. However, unlike IFRAME which loads the content inside a frame that has no relation with the main document, UFrame loads the content within the same document. Thus all the Javascripts, CSS on the main document applies to the loaded content. It's just like UpdatePanel with IFRAME's "src" attribute.
The above UFrame are declared like this:
<div id="UFrame1" src="SomePage.aspx" > <p>This should get replaced with content from Somepage.aspx</p> </div>
The features of UFrame are:
Download latest source code of UFrame from CodePlex: www.codeplex.com/UFrame