<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Erik Porter&amp;#39;s Blog</title><subtitle type="html">Life and Development at Microsoft and Other Technology Discussions</subtitle><id>http://weblogs.asp.net/eporter/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/eporter/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2007-03-25T20:06:00Z</updated><entry><title>Bill Gates: Transitioning into the Future</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2008/06/23/bill-gates-transitioning-into-the-future.aspx" /><id>http://weblogs.asp.net/eporter/archive/2008/06/23/bill-gates-transitioning-into-the-future.aspx</id><published>2008-06-23T17:02:00Z</published><updated>2008-06-23T17:02:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Bill Gates is leaving and Charles from Channel 9 has a great interview with Bill.&lt;/P&gt;&lt;IFRAME src="http://channel9.msdn.com/posts/Charles/410233/player/" frameBorder=0 width=320 scrolling=no height=325 mce_src="http://channel9.msdn.com/posts/Charles/410233/player/"&gt;&lt;/IFRAME&gt;&lt;BR&gt;&lt;A href="http://channel9.msdn.com/posts/Charles/Bill-Gates-Transitioning-into-the-Future/" mce_href="http://channel9.msdn.com/posts/Charles/Bill-Gates-Transitioning-into-the-Future/"&gt;Bill Gates: Transitioning into the Future&lt;/A&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6311774" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Channel 9" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+9/default.aspx" /><category term="Bill Gates" scheme="http://weblogs.asp.net/eporter/archive/tags/Bill+Gates/default.aspx" /></entry><entry><title>Life at Microsoft</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2008/02/12/life-at-microsoft.aspx" /><id>http://weblogs.asp.net/eporter/archive/2008/02/12/life-at-microsoft.aspx</id><published>2008-02-12T22:29:00Z</published><updated>2008-02-12T22:29:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I had the pleasure of "acting" with some fellow 'softies to create this fun video about the misconceptions that people have with Microsoft.&lt;/P&gt;
&lt;P&gt;&lt;IFRAME src="http://on10.net/blogs/tina/Life-At-Microsoft/player/" frameBorder=0 width=320 scrolling=no height=325 mce_src="http://on10.net/blogs/21054/player/"&gt;&lt;/IFRAME&gt;&lt;BR&gt;&lt;A href="http://on10.net/blogs/tina/Life-At-Microsoft/" mce_href="http://on10.net/blogs/tina/Life-At-Microsoft/"&gt;Life At Microsoft - The Truth Revealed&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;It was a lot of fun to run around with nerf guns, kick people, yell and scream.&amp;nbsp; Tina, can we do it again?&amp;nbsp; :)&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5771327" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Channel 10" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+10/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/eporter/archive/tags/Microsoft/default.aspx" /></entry><entry><title>ASP.NET AJAX BUG: $addHandler Can't Attach to Element Inside an IFrame in Internet Explorer</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2008/01/17/asp-net-ajax-bug-addhandler-can-t-attach-to-element-inside-an-iframe-in-internet-explorer.aspx" /><id>http://weblogs.asp.net/eporter/archive/2008/01/17/asp-net-ajax-bug-addhandler-can-t-attach-to-element-inside-an-iframe-in-internet-explorer.aspx</id><published>2008-01-17T09:32:00Z</published><updated>2008-01-17T09:32:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I have an iframe on my page and an html page that's loaded in it (from the same domain) and an anchor tag is clicked in the iframe I want to execute some code on my page on the client.&amp;nbsp; In the Initialize method in my client object I call $addHandler and pass in the anchor tag from inside the iframe, 'click' (to attach to the onclick of the anchor tag)&amp;nbsp;and my delegate.&amp;nbsp; I run the code in Firefox.&amp;nbsp; Everything works great.&amp;nbsp; I go to Internet Explorer and run it and when I click on the anchor tag inside of the iframe I get an error of "Sys.ArgumentNullException: Value cannot be null. Parameter name: eventObject".&amp;nbsp; A quick search turned up this gem of a workaround:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://forums.asp.net/t/1037669.aspx" mce_href="http://forums.asp.net/t/1037669.aspx"&gt;Bug with $addHandler applied to element in an iFrame&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I hope the ASP.NET team fixes this in future versions of ASP.NET AJAX, but for now this will work.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5612336" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="ASP.NET AJAX" scheme="http://weblogs.asp.net/eporter/archive/tags/ASP.NET+AJAX/default.aspx" /><category term="Internet Explorer" scheme="http://weblogs.asp.net/eporter/archive/tags/Internet+Explorer/default.aspx" /><category term="addHandler" scheme="http://weblogs.asp.net/eporter/archive/tags/addHandler/default.aspx" /><category term="Bug" scheme="http://weblogs.asp.net/eporter/archive/tags/Bug/default.aspx" /></entry><entry><title>CES: Bill Gates Leaving Microsoft Video</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2008/01/07/ces-bill-gates-leaving-microsoft-video.aspx" /><id>http://weblogs.asp.net/eporter/archive/2008/01/07/ces-bill-gates-leaving-microsoft-video.aspx</id><published>2008-01-07T22:22:00Z</published><updated>2008-01-07T22:22:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;This is a great video that was shown at CES&lt;/P&gt;&lt;IFRAME src="http://on10.net/blogs/larry/20489/player/Default.aspx" frameBorder=0 width=320 scrolling=no height=325 mce_src="http://on10.net/blogs/larry/20489/player/Default.aspx"&gt;&lt;/IFRAME&gt;&lt;BR&gt;&lt;A href="http://on10.net/blogs/larry/Bills-Last-Day-CES-2008-Keynote-Video/Default.aspx" mce_href="http://on10.net/blogs/larry/Bills-Last-Day-CES-2008-Keynote-Video/Default.aspx"&gt;Bill's Last Day: The CES Keynote video&lt;/A&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5566103" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="CES" scheme="http://weblogs.asp.net/eporter/archive/tags/CES/default.aspx" /><category term="Channel 10" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+10/default.aspx" /><category term="Bill Gates" scheme="http://weblogs.asp.net/eporter/archive/tags/Bill+Gates/default.aspx" /></entry><entry><title>PDC 2008</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/12/06/pdc-2008.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/12/06/pdc-2008.aspx</id><published>2007-12-06T20:37:00Z</published><updated>2007-12-06T20:37:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/pdc2008"&gt;http://msdn.microsoft.com/pdc2008&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;It's official now.&amp;nbsp; See you there?!?!&lt;/P&gt;
&lt;P mce_keep="true"&gt;Accompanying &lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=363230" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=363230"&gt;Channel 9 thread&lt;/A&gt; discussing it.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5413864" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Channel 9" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+9/default.aspx" /><category term="PDC" scheme="http://weblogs.asp.net/eporter/archive/tags/PDC/default.aspx" /></entry><entry><title>IE 8 Exists</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/12/06/ie-8-exists.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/12/06/ie-8-exists.aspx</id><published>2007-12-06T20:32:00Z</published><updated>2007-12-06T20:32:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Yipee!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/ie/archive/2007/12/05/internet-explorer-8.aspx"&gt;http://blogs.msdn.com/ie/archive/2007/12/05/internet-explorer-8.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Ok, we all knew it existed and was being worked on, but this is the first time the IE team has talked about anything (even if there's no actual info here).&lt;/P&gt;
&lt;P mce_keep="true"&gt;Accompanying &lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=363002" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=363002"&gt;Channel 9 thread&lt;/A&gt; discussing the "announcement".&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5413837" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Internet Explorer" scheme="http://weblogs.asp.net/eporter/archive/tags/Internet+Explorer/default.aspx" /></entry><entry><title>Yahoo Messenger for Windows Vista (using WPF) Preview Released</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/12/06/yahoo-messenger-for-windows-vista-using-wpf-preview-released.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/12/06/yahoo-messenger-for-windows-vista-using-wpf-preview-released.aspx</id><published>2007-12-06T18:38:00Z</published><updated>2007-12-06T18:38:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://on10.net/Blogs/larry/yahoo-messenger-with-wpf-goes-live/"&gt;http://on10.net/Blogs/larry/yahoo-messenger-with-wpf-goes-live/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Just installed it and while it's not feature complete yet and there are some performance issues, overall I really like it!&lt;/P&gt;
&lt;P&gt;It kind of makes the Windows Live Messenger team look a little stupid for letting their competition use our technology to make a better looking IM client, doesn't it?&amp;nbsp; ;)&lt;/P&gt;
&lt;P&gt;Definitely check it out!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5413450" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Vista" scheme="http://weblogs.asp.net/eporter/archive/tags/Vista/default.aspx" /><category term="WPF" scheme="http://weblogs.asp.net/eporter/archive/tags/WPF/default.aspx" /><category term="Yahoo" scheme="http://weblogs.asp.net/eporter/archive/tags/Yahoo/default.aspx" /></entry><entry><title>Facebook Beacon Now Lets You Completely Opt-Out</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/12/05/facebook-beacon-now-let-s-you-completely-opt-out.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/12/05/facebook-beacon-now-let-s-you-completely-opt-out.aspx</id><published>2007-12-05T19:04:00Z</published><updated>2007-12-05T19:04:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;This is great to see.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blog.facebook.com/blog.php?post=7584397130" mce_href="http://blog.facebook.com/blog.php?post=7584397130"&gt;http://blog.facebook.com/blog.php?post=7584397130&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Nothing better in this world than a company who admits mistakes, listens to customers and makes changes when needed.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5407013" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Facebook" scheme="http://weblogs.asp.net/eporter/archive/tags/Facebook/default.aspx" /></entry><entry><title>Facebook Beacon</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/11/30/facebook-beacon.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/11/30/facebook-beacon.aspx</id><published>2007-11-30T18:26:00Z</published><updated>2007-11-30T18:26:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Ever wanted something more powerful than just a "Share on Facebook" link on your site, but didn't want to write an entire Facebook app?&amp;nbsp; Enter &lt;A class="" title="Facebook Beacon" href="http://www.facebook.com/business/?beacon" mce_href="http://www.facebook.com/business/?beacon"&gt;Facebook Beacon&lt;/A&gt;.&amp;nbsp; With it, you can add a few lines of code to your site and your users can share actions they did on your site like (bought a product/service, changed their profile, posted a comment, etc) to Facebook so it shows up in their news feed and then travels down the viral highway that is Facebook.&lt;/P&gt;
&lt;P mce_keep="true"&gt;We're considering integrating Beacon into our community web platform that runs (&lt;A class="" title="Channel 9" href="http://channel9.msdn.com/" mce_href="http://channel9.msdn.com"&gt;Channel 9&lt;/A&gt;, &lt;A class="" title="Channel 10" href="http://on10.net/" mce_href="http://on10.net"&gt;Channel 10&lt;/A&gt;, &lt;A class="" title="MIX Online" href="http://visitmix.com/" mce_href="http://visitmix.com"&gt;MIX Online&lt;/A&gt;, &lt;A class="" title="Channel 8" href="http://channel8.msdn.com/" mce_href="http://channel8.msdn.com"&gt;Channel 8&lt;/A&gt; and &lt;A class="" title="TechNet Edge" href="http://edge.technet.com/" mce_href="http://edge.technet.com"&gt;TechNet Edge&lt;/A&gt;).&amp;nbsp; Do you think this would get annoying?&amp;nbsp; Would you like to share what you're doing on our sites with your friends on Facebook?&lt;/P&gt;
&lt;P mce_keep="true"&gt;FYI, we're building a Facebook app as well for our sites (and all sites involved in &lt;A class="" title="Microsoft Communities" href="http://mscommunities.com/" mce_href="http://mscommunities.com"&gt;Microsoft Communities&lt;/A&gt;), but we think this also adds value too.&amp;nbsp; Thoughts?&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5383871" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Channel 9" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+9/default.aspx" /><category term="Channel 10" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+10/default.aspx" /><category term="MIX" scheme="http://weblogs.asp.net/eporter/archive/tags/MIX/default.aspx" /><category term="Facebook" scheme="http://weblogs.asp.net/eporter/archive/tags/Facebook/default.aspx" /><category term="Channel 8" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+8/default.aspx" /><category term="TechNet Edge" scheme="http://weblogs.asp.net/eporter/archive/tags/TechNet+Edge/default.aspx" /></entry><entry><title>.NET Web Roadmap for 3.5 (ASP.NET, Silverlight, IIS 7)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/11/29/net-web-roadmap-for-3-5-asp-net-silverlight-iis-7.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/11/29/net-web-roadmap-for-3-5-asp-net-silverlight-iis-7.aspx</id><published>2007-11-29T18:08:00Z</published><updated>2007-11-29T18:08:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Scott Guthrie posted some fantastic info on ASP.NET Extensions 3.5 to match up with Visual Studio 2008 and .NET Framework&amp;nbsp;3.5.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Highlights:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Silverlight 1.1 is now Silverlight 2.0&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Silverlight 2.0 will start to get some of the great features that WPF has&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Some of the ASP.NET AJAX Futures (like the browser history control) will be moved into ASP.NET AJAX&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;IIS 7 will ship early next year&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;There will be new ways to deploy to IIS 7 and do things like versioning and rolling back on single servers and web farms&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Great stuff...check it out!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5374947" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/eporter/archive/tags/ASP.NET/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/eporter/archive/tags/Visual+Studio/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/eporter/archive/tags/.NET/default.aspx" /><category term="ASP.NET AJAX" scheme="http://weblogs.asp.net/eporter/archive/tags/ASP.NET+AJAX/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/eporter/archive/tags/Silverlight/default.aspx" /><category term="IIS" scheme="http://weblogs.asp.net/eporter/archive/tags/IIS/default.aspx" /></entry><entry><title>Rich Text Editor on CodePlex</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/11/29/rich-text-editor-on-codeplex.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/11/29/rich-text-editor-on-codeplex.aspx</id><published>2007-11-29T08:45:00Z</published><updated>2007-11-29T08:45:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;This is really great to see.&amp;nbsp; RTEs are a pain to write yourself.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://ledgards.com/blogs/josh/archive/2007/11/12/rich-text-editor-control-on-codeplex.aspx"&gt;http://ledgards.com/blogs/josh/archive/2007/11/12/rich-text-editor-control-on-codeplex.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;My only requests are that they add Opera and Safari support, XHTML support, undo and better flexibility for customizing it (like hiding the view tabs and ASP.NET Themes).&lt;/P&gt;
&lt;P mce_keep="true"&gt;Definitely worth checking out!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5372049" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/eporter/archive/tags/ASP.NET/default.aspx" /><category term="Rich Text Editor" scheme="http://weblogs.asp.net/eporter/archive/tags/Rich+Text+Editor/default.aspx" /><category term="CodePlex" scheme="http://weblogs.asp.net/eporter/archive/tags/CodePlex/default.aspx" /></entry><entry><title>Popfly - Building Mash-ups, Blocks, Pages in a Fun Community</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/05/18/popfly-building-mash-ups-blocks-pages-in-a-fun-community.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/05/18/popfly-building-mash-ups-blocks-pages-in-a-fun-community.aspx</id><published>2007-05-18T17:26:00Z</published><updated>2007-05-18T17:26:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I've been following &lt;A class="" href="http://popfly.ms/" mce_href="http://popfly.ms"&gt;Popfly&lt;/A&gt; for a long time.&amp;nbsp; It's come a long way (and&amp;nbsp;2 code names) to where it is today and it's good stuff!&amp;nbsp; They have a cool editor in Silverlight for connecting blocks to create mash-ups, a web page editor, social networking to share your creations.&amp;nbsp; If you're into the nitty gritty you can even go in and edit all the Javascript yourself.&amp;nbsp; Check out the &lt;A class="" href="http://channel9.msdn.com/showpost.aspx?postid=308460" mce_href="http://channel9.msdn.com/showpost.aspx?postid=308460"&gt;intro video&amp;nbsp;on Channel 9&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2616653" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Channel 9" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+9/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/eporter/archive/tags/Community+News/default.aspx" /><category term="AJAX" scheme="http://weblogs.asp.net/eporter/archive/tags/AJAX/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/eporter/archive/tags/Silverlight/default.aspx" /><category term="Popfly" scheme="http://weblogs.asp.net/eporter/archive/tags/Popfly/default.aspx" /><category term="Mashup" scheme="http://weblogs.asp.net/eporter/archive/tags/Mashup/default.aspx" /></entry><entry><title>Building a Silverlight 1.1 DLL with Visual Studio 2005</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/05/02/building-a-silverlight-1-1-dll-with-visual-studio-2005.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/05/02/building-a-silverlight-1-1-dll-with-visual-studio-2005.aspx</id><published>2007-05-03T04:15:00Z</published><updated>2007-05-03T04:15:00Z</updated><content type="html">&lt;p&gt;Hotness!&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.sqlxml.org/bryantlikes/archive/2007/05/02/silverlight-hello-world-in-c-from-vs-2005.aspx"&gt;http://blogs.sqlxml.org/bryantlikes/archive/2007/05/02/silverlight-hello-world-in-c-from-vs-2005.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2484339" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="WPFE" scheme="http://weblogs.asp.net/eporter/archive/tags/WPFE/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/eporter/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Silverlight (WAS: WPF/E) is Official</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/04/16/silverlight-was-wpf-e-is-official.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/04/16/silverlight-was-wpf-e-is-official.aspx</id><published>2007-04-16T08:18:00Z</published><updated>2007-04-16T08:18:00Z</updated><content type="html">&lt;p&gt;The official name as well as &lt;a href="http://www.microsoft.com/silverlight"&gt;site&lt;/a&gt; is now out for Silverlight, which used to be called WPF/E.&amp;nbsp; Lookin&amp;#39; good!&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://on10.net/Blogs/tina/out-with-wpfe-in-with-microsoft-silverlight-this-has-just-been-announced/"&gt;http://on10.net/Blogs/tina/out-with-wpfe-in-with-microsoft-silverlight-this-has-just-been-announced/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/tims/archive/2007/04/15/introducing-microsoft-silverlight.aspx"&gt;http://blogs.msdn.com/tims/archive/2007/04/15/introducing-microsoft-silverlight.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/somasegar/archive/2007/04/15/silverlight-the-next-generation-web-media-experiences.aspx"&gt;http://blogs.msdn.com/somasegar/archive/2007/04/15/silverlight-the-next-generation-web-media-experiences.aspx&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2252550" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="Community News" scheme="http://weblogs.asp.net/eporter/archive/tags/Community+News/default.aspx" /><category term="WPFE" scheme="http://weblogs.asp.net/eporter/archive/tags/WPFE/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/eporter/archive/tags/Silverlight/default.aspx" /></entry><entry><title>SQL WHERE List Matches Any or All</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/eporter/archive/2007/03/25/sql-where-list-matches-any-or-all.aspx" /><id>http://weblogs.asp.net/eporter/archive/2007/03/25/sql-where-list-matches-any-or-all.aspx</id><published>2007-03-26T01:06:00Z</published><updated>2007-03-26T01:06:00Z</updated><content type="html">&lt;p&gt;I saw a cool post recently from Jon Galloway called &amp;quot;&lt;a href="http://weblogs.asp.net/jgalloway/archive/2007/02/16/passing-lists-to-sql-server-2005-with-xml-parameters.aspx"&gt;Passing lists to SQL Server 2005 with XML Parameters&lt;/a&gt;&amp;quot;.&amp;nbsp; This is a pattern I&amp;#39;ve used several times while building the new version of &lt;a href="http://channel9.msdn.com"&gt;Channel 9&lt;/a&gt;.&amp;nbsp; If you&amp;#39;d like to learn how to pass in lists to stored procedures, check out Jon&amp;#39;s post.&lt;/p&gt;&lt;p&gt;One of the times I&amp;#39;ve used it is to search our database for all entries from&amp;nbsp;two of our forums.&amp;nbsp; For this example, we&amp;#39;ll say &lt;a href="http://channel9.msdn.com/ShowForum.aspx?ForumID=16"&gt;Techoff&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/ShowForum.aspx?ForumID=31"&gt;Sandbox&lt;/a&gt;.&amp;nbsp; Once you have a temp table with the two forum&amp;nbsp;ids (actually forums in our system are just tags too) you can just do a where in statement like the following:&lt;/p&gt;&lt;p&gt;SELECT&amp;nbsp;e.* FROM Entry e INNER JOIN EntryForum ef ON e.EntryID = ef.EntryID&amp;nbsp;&lt;strong&gt;WHERE ef.ForumID IN (SELECT ForumID FROM ForumList)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Note: This is all pseudo code to represent the&amp;nbsp;basics of how we do this.&amp;nbsp; This is not the exact code.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;This selects all the entries (or posts) from our database that are from the list of forums I passed into the ForumList temp table.&amp;nbsp; WHERE IN specificies that all rows be returned that match ANY of the records in my temp table.&amp;nbsp; The following statement would be equivalent and work exactly the same.&lt;/p&gt;&lt;p&gt;SELECT&amp;nbsp;e.* FROM Entry e INNER JOIN EntryForum ef ON e.EntryID = ef.EntryID&amp;nbsp;&lt;strong&gt;WHERE ef.ForumID = @ForumID1 OR ef.ForumID = @ForumID2&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Note: In the above example, @ForumID1 and @ForumID2&amp;nbsp;have the values that were stored in the ForumList temp table in the example above that one.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;This works pretty well.&amp;nbsp; The other thing we do with passing in lists though is selecting only the entries that match ALL (not ANY) of the&amp;nbsp;list&amp;nbsp;we pass in to the stored procedure.&amp;nbsp; The example of this is when searching by multiple tags.&amp;nbsp; So for instance, you want to search on our site for all content that contains information on &lt;a href="http://channel9.msdn.com/tags/WPF"&gt;WPF&lt;/a&gt; AND &lt;a href="http://channel9.msdn.com/tags/WCF"&gt;WCF&lt;/a&gt;.&amp;nbsp; The previous example won&amp;#39;t work.&amp;nbsp; It would instead need to be something like this...&lt;/p&gt;&lt;p&gt;SELECT&amp;nbsp;e.* FROM Entry e INNER JOIN EntryTag et ON e.EntryID = et.EntryID&amp;nbsp;&lt;strong&gt;WHERE et.TagID = @TagIDWPF&amp;nbsp;&lt;em&gt;&lt;u&gt;AND&lt;/u&gt;&lt;/em&gt; et.TagID = @TagIDWCF&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Using WHERE IN, we can&amp;#39;t do this (at least I couldn&amp;#39;t find anything in the docs or internet searching to say otherwise).&amp;nbsp; &lt;a href="http://www.duncanmackenzie.net/"&gt;Duncan&lt;/a&gt; helped figure out the idea on how to do this and here is the implentation I came up with:&lt;/p&gt;&lt;p&gt;DECLARE @TagCount int&lt;br /&gt;DECLARE @Tags TABLE (TagID bigint)&lt;br /&gt;DECLARE @Entries TABLE (EntryID bigint)&lt;/p&gt;&lt;p&gt;SELECT @TagCount = COUNT(*) FROM @Tags&lt;br /&gt;;&lt;br /&gt;WITH Entries(EntryID, MatchCount) AS&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.EntryID,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COUNT(DISTINCT t.TagID) AS MatchCount&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Entry e&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EntryTag et&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.EntryID = et.EntryID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Tags t&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; et.TagID = t.TagID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.EntryID&lt;br /&gt;)&lt;br /&gt;INSERT INTO @Entries (EntryID) SELECT EntryID FROM Entries WHERE MatchCount = @TagCount&lt;/p&gt;&lt;p&gt;What is this code doing?&amp;nbsp; Well, first,&amp;nbsp;it&amp;#39;s doing a count on the tags that were passed in (again, from XML turned into a temp table) and storing it in a variable.&amp;nbsp; Then, it creates a &lt;a href="http://msdn2.microsoft.com/en-us/library/ms175972.aspx"&gt;Common Table Expression&lt;/a&gt; or CTE around a query that returns all the entries that match the tag list and how many of those tags it matches up with.&amp;nbsp; If you&amp;#39;re not familiar with CTEs, they&amp;#39;re basically a wrapper around a query so you can write a query against it.&amp;nbsp; Kind of like a subquery, but much more organized.&amp;nbsp; Recursive CTEs are particularly powerful and cool, but that&amp;#39;s another blog post.&amp;nbsp; So then after creating the CTE, fill another temp table with everything from the CTE where the MatchCount equals the count of how many tags were passed in originally.&amp;nbsp; This means that the entry returned had ALL the tags passed in associated with it.&amp;nbsp; So this will now only return entries that match ALL of the tags from the list that I passed in (stored in @Tags).&amp;nbsp; I hope this helps someone.&amp;nbsp; :)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Check out the first comment from Bryan.&amp;nbsp; He points out a slightly better implementation.&amp;nbsp; Thanks, Bryan!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2094465" width="1" height="1"&gt;</content><author><name>HumanCompiler</name><uri>http://weblogs.asp.net/members/HumanCompiler.aspx</uri></author><category term="SQL Server" scheme="http://weblogs.asp.net/eporter/archive/tags/SQL+Server/default.aspx" /><category term="Channel 9" scheme="http://weblogs.asp.net/eporter/archive/tags/Channel+9/default.aspx" /></entry></feed>