<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'AJAX', 'updatepanel', and 'flash'</title><link>http://bloggingabout.net/search/SearchResults.aspx?a=1&amp;o=DateDescending&amp;tag=AJAX,updatepanel,flash&amp;orTags=0</link><description>Search results matching tags 'AJAX', 'updatepanel', and 'flash'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Firing Atlas UpdatePanels from a Flash movie</title><link>http://bloggingabout.net/blogs/waseem/archive/2006/10/26/Firing-Atlas-UpdatePanels-from-a-Flash-movie.aspx</link><pubDate>Thu, 26 Oct 2006 02:02:26 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:39226</guid><dc:creator>Waseem Sadiq</dc:creator><description>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:5b165f80-e6ae-4fbe-9dc0-eb5b84279939" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Atlas" rel="tag"&gt;Atlas&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP.NET%20Ajax" rel="tag"&gt;ASP.NET Ajax&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Flash" rel="tag"&gt;Flash&lt;/a&gt;, &lt;a href="http://technorati.com/tags/UpdatePanel" rel="tag"&gt;UpdatePanel&lt;/a&gt;&lt;/div&gt; &lt;p&gt;A friend of mine asked me about how to solve the following problem:&lt;/p&gt; &lt;p&gt;He has a Flash movie in which he can call javascript but needs to trigger an Atlas (or rather ASP.NET Ajax... sigh) UpdatePanel. In his code-behind he wants to load a different user-control based on the button that was clicked in his Flash movie.&lt;/p&gt; &lt;p&gt;I cooked him up a solution that generates a single line of javascript which he can copy/paste in his Flash movie and use to trigger the UpdatePanel.&lt;/p&gt; &lt;p&gt;The magic happens by implementing the IPostBackEventHandler interface. I created a simple control that implements this interface and exposes an event that gets called so that external observers can be notified when a postback occured:&lt;/p&gt; &lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; RaisePostbackProxy : Control, IPostBackEventHandler&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;event&lt;/span&gt; EventHandler&amp;lt;NewPostBackEventArgs&amp;gt; HandlePostback;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; RaisePostBackEvent(&lt;span class="kwrd"&gt;string&lt;/span&gt; eventArgument)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;div class="csharpcode"&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;I added this control to my aspx page and wired the HandlePostback event, now I can be notified when the user clicks any link or button in the flash movie and load the appropriate usercontrol by looking at the Argument property of the NewPostBackEventArgs parameter.&lt;/p&gt;
&lt;p&gt;I have created a sample solution demonstrating this (very simple) approach. The solution can be downloaded &lt;a title="Sample solution" href="http://waseem.sadiq.nl/downloads/samples/AtlasPostbackTrigger.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hope this helps somebody.&lt;/p&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</description></item></channel></rss>