<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Beth Massi - Sharing the goodness that is VB : ASP.NET</title><link>http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>New Podcast Series on MisfitGeek.com</title><link>http://blogs.msdn.com/bethmassi/archive/2009/06/02/new-podcast-series-on-misfitgeek-com.aspx</link><pubDate>Tue, 02 Jun 2009 21:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9686389</guid><dc:creator>Beth Massi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9686389.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9686389</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9686389</wfw:comment><description>&lt;P&gt;&lt;A href="http://misfitgeek.com/about/" target=_blank mce_href="http://misfitgeek.com/about/"&gt;Joe Stagner&lt;/A&gt;, ASP.NET/Web community guru, has just launched a &lt;A href="http://misfitgeek.com/podcast/misfit-geek-podcast/" target=_blank mce_href="http://misfitgeek.com/podcast/misfit-geek-podcast/"&gt;new podcast on MisfitGeek.com&lt;/A&gt;. In &lt;A href="http://misfitgeek.com/podcast/episode-1-scott-hunter-on-the-future-of-web-forms/" target=_blank mce_href="http://misfitgeek.com/podcast/episode-1-scott-hunter-on-the-future-of-web-forms/"&gt;this first episode&lt;/A&gt; he talks with Scott Hunter, a Senior Program Manager Lead on the ASP.NET Team, about the future of Web Forms and&amp;nbsp;how Web Forms compares with ASP.NET MVC. He also talks about web data controls and compares the web forms development experience to the ease of VB6 forms development which is interesting to me. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://misfitgeek.com/podcast/episode-1-scott-hunter-on-the-future-of-web-forms/" mce_href="http://misfitgeek.com/podcast/episode-1-scott-hunter-on-the-future-of-web-forms/"&gt;Episode #1 - Scott Hunter on the Future of Web Forms&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This Joe’s first podcast and he’s taking suggestions on how to make it better so please &lt;A href="http://misfitgeek.com/podcast/misfit-geek-podcast/" target=_blank mce_href="http://misfitgeek.com/podcast/misfit-geek-podcast/"&gt;send him comments here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9686389" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Podcast/default.aspx">Podcast</category></item><item><title>Channel 9 Interview: ASP.NET MVC using Visual Basic XML Literals</title><link>http://blogs.msdn.com/bethmassi/archive/2009/02/16/channel-9-interview-asp-net-mvc-using-visual-basic-xml-literals.aspx</link><pubDate>Mon, 16 Feb 2009 20:20:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9426144</guid><dc:creator>Beth Massi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9426144.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9426144</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9426144</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/ASPNET-MVC-using-Visual-Basic-XML-Literals/" target="_blank"&gt;&lt;strong&gt;I just posted an interview on Channel 9&lt;/strong&gt;&lt;/a&gt; with Dmitry Robsman, the Product Unit Manager for ASP.NET. &lt;a href="http://channel9.msdn.com/posts/funkyonex/ASPNET-MVC-using-Visual-Basic-XML-Literals/" target="_blank"&gt;In this interview&lt;/a&gt; he shows us how he implemented ASP.NET MVC views using Visual Basic's XML Literals instead of .aspx pages. Dmitry shows us how this makes coding the views much cleaner using standard OOP principals. He also makes some very interesting observations about DSLs and Visual Basic XML literals. You can download the code Dmitry shows in the interview &lt;a href="http://blogs.msdn.com/dmitryr/archive/2008/12/29/asp-net-mvc-view-engine-using-vb-net-xml-literals.aspx"&gt;from his blog here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9426144" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/XML/default.aspx">XML</category></item><item><title>ASP.NET Dynamic Data Tutorials</title><link>http://blogs.msdn.com/bethmassi/archive/2008/09/30/asp-net-dynamic-data-tutorials.aspx</link><pubDate>Tue, 30 Sep 2008 23:41:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8970693</guid><dc:creator>Beth Massi</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/8970693.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=8970693</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=8970693</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.myvbprof.com/2007_Version/Default.aspx" target="_blank"&gt;Bill Burrows&lt;/a&gt; has released more video tutorials! This time &lt;a href="http://www.myvbprof.com/2007_Version/Dynamic_Data_Tutorial.aspx" target="_blank"&gt;he focuses on the ASP.NET Dynamic Data&lt;/a&gt; feature that is available in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533448.aspx" target="_blank"&gt;Visual Studio 2008 SP1&lt;/a&gt;.&amp;#160; If you need to build a quick web site against a database then you should definitely check this framework out.&lt;/p&gt;  &lt;p&gt;Also check out the &lt;a href="http://msdn.microsoft.com/en-us/vbasic/ms789182.aspx" target="_blank"&gt;Web Development&lt;/a&gt; section of the &lt;a href="http://msdn.microsoft.com/en-us/vbasic/ms789086.aspx" target="_blank"&gt;Visual Basic Learning page&lt;/a&gt; for more VB ASP.NET videos.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8970693" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>More Videos on ASP.NET MVC</title><link>http://blogs.msdn.com/bethmassi/archive/2008/08/27/more-videos-on-asp-net-mvc.aspx</link><pubDate>Wed, 27 Aug 2008 19:18:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8900618</guid><dc:creator>Beth Massi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/8900618.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=8900618</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=8900618</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.myvbprof.com/" target="_blank"&gt;Bill Burrows&lt;/a&gt; has released a new set of videos on the &lt;a href="http://www.myvbprof.com/2007_Version/MVC_P4_Tutorial.aspx" target="_blank"&gt;ASP .NET MVC Framework - Preview 4 Update&lt;/a&gt; which provides an overview of the MVC pattern as well as shows you how to perform adds and updates against a database. If you missed them, you should first check out his &lt;a href="http://www.myvbprof.com/2007_Version/MVC_Intro_Tutorial.aspx" target="_blank"&gt;Intro to MVC videos&lt;/a&gt; and &lt;a href="http://www.myvbprof.com/2007_Version/LINQ_to_SQL.aspx" target="_blank"&gt;LINQ to SQL tutorials&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Bill is a professor and Visual Basic MVP who is providing these completely free of charge to the community. Thanks Bill!&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8900618" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Video Tutorials on ASP.NET Model-View-Controller (MVC) Framework</title><link>http://blogs.msdn.com/bethmassi/archive/2008/04/01/video-tutorials-on-asp-net-model-view-controller-mvc-framework.aspx</link><pubDate>Wed, 02 Apr 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8349196</guid><dc:creator>Beth Massi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/8349196.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=8349196</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=8349196</wfw:comment><description>&lt;P&gt;&lt;A class="" href="http://www.myvbprof.com/2007_Version/AboutUs.aspx" target=_blank mce_href="http://www.myvbprof.com/2007_Version/AboutUs.aspx"&gt;Bill Burrows&lt;/A&gt;, Visual Basic MVP,&amp;nbsp;has done it again and is creating another &lt;A class="" href="http://www.myvbprof.com/2007_Version/MVC_Intro_Tutorial.aspx" target=_blank mce_href="http://www.myvbprof.com/2007_Version/MVC_Intro_Tutorial.aspx"&gt;series of video tutorials on the ASP.NET MVC Framework&lt;/A&gt;. Based on &lt;A class="" href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx"&gt;ScottGu's blog posts&lt;/A&gt;, Bill teaches us how to use this pattern of web development using Visual Basic. Check back often, right now Bill explains the basics and more will be added in the coming weeks.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8349196" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>LINQ Enabled Personal Web Site Starter Kit  </title><link>http://blogs.msdn.com/bethmassi/archive/2008/02/13/linq-enabled-personal-web-site-starter-kit.aspx</link><pubDate>Wed, 13 Feb 2008 19:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7676965</guid><dc:creator>Beth Massi</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/7676965.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=7676965</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=7676965</wfw:comment><description>&lt;P&gt;&lt;A class="" href="http://www.thinqlinq.com/Default.aspx?Postid=21986" target=_blank mce_href="http://www.thinqlinq.com/Default.aspx?Postid=21986"&gt;Jim Wooley&lt;/A&gt;, VB MVP, has rewritten the original Personal Web Starter Kit using LINQ for the data tier rather than stored procedures and ADO.NET and has put it up onto &lt;A class="" href="http://code.msdn.microsoft.com/" target=_blank mce_href="http://code.msdn.microsoft.com/"&gt;Code Gallery&lt;/A&gt;. The starter kit manages images in a SQL database by album. &lt;/P&gt;
&lt;P&gt;You can download the LINQ-enabled Personal Web Starter Kit here: &lt;A href="http://code.msdn.microsoft.com/LinqPersonalWeb"&gt;http://code.msdn.microsoft.com/LinqPersonalWeb&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;By the way, you can see all the latest Visual Basic Code Gallery and CodePlex projects as well as Jim's ThinqLinq blog -- plus all things cool in&amp;nbsp;VB on the &lt;A class="" href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx"&gt;Visual Basic Developer Center!&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7676965" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Northwind Meets Virtual Earth - Generate VE Maps with LINQ</title><link>http://blogs.msdn.com/bethmassi/archive/2007/12/03/northwind-meets-virtual-earth-generate-ve-maps-with-linq.aspx</link><pubDate>Tue, 04 Dec 2007 02:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6647968</guid><dc:creator>Beth Massi</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/6647968.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=6647968</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=6647968</wfw:comment><description>&lt;P&gt;With Visual Basic 9 and LINQ you can easily create XML from multiple data sources including relational data, other XML sources or any other queryable object. Since most modern systems interact with each other in some form of XML the possibilities are endless. SOAP, XAML, HTML, RSS can all be created easily with LINQ to XML in Visual Basic 9. For instance, what if we wanted to display all our customers in the Northwind database on a map generated by Microsoft Virtual Earth? 
&lt;P&gt;Virtual Earth allows you to pass it an RSS document of items specifying their latitude and longitude to easily map out multiple locations in the world. There are a couple different formats you can pass it and one is the GeoRSS standard. All we have to do is create this XML by obtaining the latitude and longitude from the addresses we have in our customers table and then pass this GeoRSS to Virtual Earth. We can grab the latitude and longitude of our customers in the United States using the service at &lt;A href="http://geocoder.us/" mce_href="http://geocoder.us"&gt;http://geocoder.us&lt;/A&gt;. This service can return a set of coordinates from any US address in a variety of formats including REST-ful RDF. We can use this service in our LINQ query in order to create the GeoRSS from our customers table in the Northwind database. 
&lt;P&gt;Assuming you already have a connection in Server Explorer to Northwind (or another database with addresses will do), first add a new "LINQ to SQL classes" item to your project, name it Northwind.dbml and then drag the Customers table onto the designer from the Server Explorer. The next thing to do is to import the geo namespace at the top of our code file because we’ll be using it to return the location information in the geo namespace from the XML that is returned from the geocoder.us service.&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Imports &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(185,100,100)"&gt;xmlns:geo&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&lt;A href='http://www.w3.org/2003/01/geo/wgs84_pos#"&gt;' mce_href='http://www.w3.org/2003/01/geo/wgs84_pos#"&gt;'&gt;http://www.w3.org/2003/01/geo/wgs84_pos#&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/PRE&gt;
&lt;P&gt;Now we can write a query to create the GeoRSS for our customers. Since the Northwind database contains mostly fictitious addresses you can change the addresses to real locations or we can select just the customers living in Oregon (OR) since there are a couple valid addresses there.&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Dim&lt;/SPAN&gt; db &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;New&lt;/SPAN&gt; NorthwindDataContext&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Dim&lt;/SPAN&gt; geoRSS = _
&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;rss&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(185,100,100)"&gt;xmlns:geo&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&lt;A href='http://www.w3.org/2003/01/geo/wgs84_pos#"&gt;' mce_href='http://www.w3.org/2003/01/geo/wgs84_pos#"&gt;'&gt;http://www.w3.org/2003/01/geo/wgs84_pos#&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/A&gt;&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;channel&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;        &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Northwind Customer Locations&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;        &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;link&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;link&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;        &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;From&lt;/SPAN&gt; Customer &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;In&lt;/SPAN&gt; db.Customers _
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Let&lt;/SPAN&gt; Desc = Customer.Address &amp;amp; &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;", "&lt;/SPAN&gt; &amp;amp; Customer.City _
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Let&lt;/SPAN&gt; Address = Customer.Address &amp;amp; &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;","&lt;/SPAN&gt; &amp;amp; Customer.PostalCode _
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Where&lt;/SPAN&gt; Customer.Country = &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"USA"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;AndAlso&lt;/SPAN&gt; Customer.Region = &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"OR" &lt;/SPAN&gt;_
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Select&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;item&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;                       &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; Customer.ContactName &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;                       &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; Desc &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;                       &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; GetGeoCode(Address).Descendants &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;
&lt;/SPAN&gt;&lt;/SPAN&gt;                   &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;item&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;
&lt;/SPAN&gt;&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;channel&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;rss&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;In this query we’re building up the GeoRSS and calling a user defined function called GetGeoCode that accepts the address of the customer and returns the latitude and longitude. Also notice that we’re using the Let keyword in the query in order to create query variables for description and address which are being used as we build the &amp;lt;item&amp;gt; elements. The GetGeoCode function will return an XElement of the location if one was found. The Descendants method on the XElement is then called back up in the query in order to place just the &amp;lt;geo:lat&amp;gt; and &amp;lt;geo:long&amp;gt; nodes into the GeoRSS. &lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Function&lt;/SPAN&gt; GetGeoCode(&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ByVal&lt;/SPAN&gt; address &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;String&lt;/SPAN&gt;) &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; XElement
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Dim&lt;/SPAN&gt; url = &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"http://geocoder.us/service/rest/?address="&lt;/SPAN&gt; &amp;amp; Server.UrlEncode(address)

    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Try
&lt;/SPAN&gt;        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Dim&lt;/SPAN&gt; geo = XElement.Load(url)

        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Return&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;location&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;                   &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; geo.&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;geo:Point&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;.&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;geo:long&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;
&lt;/SPAN&gt;&lt;/SPAN&gt;                   &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;&amp;lt;%=&lt;/SPAN&gt;&lt;/SPAN&gt; geo.&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;geo:Point&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;.&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;geo:lat&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(85,85,85)"&gt;&lt;SPAN style="BACKGROUND: rgb(255,254,191)"&gt;%&amp;gt;
&lt;/SPAN&gt;&lt;/SPAN&gt;               &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;location&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;

&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Catch&lt;/SPAN&gt; ex &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; Exception
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Return&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;location&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;location&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Try

&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Function&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Now that we have the GeoRSS we can pass this to Virtual Earth to create our map. For example, we can just create a simple ASP.NET application and save the GeoRSS above to a session variable. The default page contains the JavaScript code we’re going to need to send the GeoRSS to Virtual Earth and a &amp;lt;div&amp;gt; section with the id=”myMap” that identifies the area to place the map on the page. Take a look at the &lt;A href="http://dev.live.com/virtualearth/sdk/" mce_href="http://dev.live.com/virtualearth/sdk/"&gt;Virtual Earth documentation&lt;/A&gt; for more information on the API.&lt;PRE class=code&gt;&lt;SPAN style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&lt;/SPAN&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Page&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="vb"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;AutoEventWireup&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="false"&lt;/SPAN&gt; 
&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;CodeBehind&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="Default.aspx.vb"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Inherits&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="NorthwindVirtualEarth._Default"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;

&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&lt;/SPAN&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;html&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/SPAN&gt; 
&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;

&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;html&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="http://www.w3.org/1999/xhtml"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;head&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Northwind Customers on Virtual Earth&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;link&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;href&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="style.css"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;rel&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="stylesheet"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="text/css"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/SPAN&gt;    
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;script&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="text/javascript"&lt;/SPAN&gt; 
        &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;src&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=5"&amp;gt;
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;script&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="text/javascript"&amp;gt;
&lt;/SPAN&gt;        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; map = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;;
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; layerid=1;
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt; GetMap()
        {
            map = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; VEMap(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;'myMap'&lt;/SPAN&gt;);
            map.LoadMap();   
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; l = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; VEShapeLayer();
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; veLayerSpec = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; VEShapeSourceSpecification(VEDataType.GeoRSS, &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"georss.aspx"&lt;/SPAN&gt;, l);
            map.ImportShapeLayerData(veLayerSpec, &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;);
        } 
     &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;head&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;body&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="body"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;   &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;form&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="form1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/SPAN&gt;   &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;h1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Northwind Customers on Virtual Earth&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;h1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt; 
   &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;div&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;='myMap'&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="position: relative; width: 800px; height: 400px;"&amp;gt;
&lt;/SPAN&gt;         &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Label&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="lblStatus"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="No items found"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Visible&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="False"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Label&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;   &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;   &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;html&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;The VB code-behind for the Default.aspx page simply checks to see if there were any &amp;lt;item&amp;gt; elements returned from our geoRSS query above and if so, dynamically adds the code to call the GetMap Javascript function in the onload event of the body.&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;If&lt;/SPAN&gt; geoRSS...&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;item&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&lt;/SPAN&gt;.Count &amp;gt; 0 &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Then
&lt;/SPAN&gt;    Session(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"georss"&lt;/SPAN&gt;) = geoRSS

    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Me&lt;/SPAN&gt;.body.Attributes.Add(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"onload"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"GetMap()"&lt;/SPAN&gt;))
&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Else
&lt;/SPAN&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Me&lt;/SPAN&gt;.lblStatus.Visible = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;True
&lt;/SPAN&gt;    Session(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"georss"&lt;/SPAN&gt;) = &lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;rss&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(132,70,70)"&gt;rss&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(100,100,185)"&gt;&amp;gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Another page called GeoRss.aspx is just a blank page that simply returns the GeoRSS stored in the session variable that the JavaScript calls to get the content.&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Public&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Class&lt;/SPAN&gt; GeoRSS
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Inherits&lt;/SPAN&gt; System.Web.UI.Page

    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Sub&lt;/SPAN&gt; Page_Load(&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Object&lt;/SPAN&gt;, &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; System.EventArgs) &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Handles&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Me&lt;/SPAN&gt;.Load

        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Dim&lt;/SPAN&gt; georss &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;As&lt;/SPAN&gt; XElement = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;CType&lt;/SPAN&gt;(Session(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"georss"&lt;/SPAN&gt;), XElement)

        Response.ContentType = &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"text/xml"
&lt;/SPAN&gt;        Response.Write(georss.ToString())

    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Sub
End&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Class&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/bethmassi/images/6647969/640x448.aspx" mce_src="http://blogs.msdn.com/photos/bethmassi/images/6647969/640x448.aspx"&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The key takeaway here is that in one LINQ statement we queried over multiple data sources, the Northwind Database and the geocoder.us service, to create a single XML document that conformed to the GeoRSS standard and passed that to the Virtual Earth service to generate our map. As you can see, it's pretty easy to create XML, in this case RSS, from multiple sources with LINQ and Visual Basic 9. &lt;A class="" href="http://blogs.msdn.com/bethmassi/attachment/6647968.ashx" mce_href="http://blogs.msdn.com/bethmassi/attachment/6647968.ashx"&gt;The code is attached&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;And if you're interested in creating dynamic maps from your data using WPF, don't forget to check out Scott Wisniewski's&amp;nbsp;&lt;A class="" href="http://msdn2.microsoft.com/en-us/vbasic/bb758867.aspx?wt.slv=topsectionsee" target=_blank mce_href="http://msdn2.microsoft.com/en-us/vbasic/bb758867.aspx?wt.slv=topsectionsee"&gt;DevCenter featured&lt;/A&gt;&amp;nbsp;article &lt;EM&gt;&lt;A class="" href="http://msdn.microsoft.com/msdnmag/issues/07/12/Maps/default.aspx" target=_blank mce_href="http://msdn.microsoft.com/msdnmag/issues/07/12/Maps/default.aspx"&gt;Create Dynamic Maps with Visual Basic 9.0 and WPF&lt;/A&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6647968" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/bethmassi/attachment/6647968.ashx" length="17533" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/XML/default.aspx">XML</category></item><item><title>Visual Basic ASP.NET Data Tutorials</title><link>http://blogs.msdn.com/bethmassi/archive/2007/04/21/visual-basic-asp-net-data-tutorials.aspx</link><pubDate>Sat, 21 Apr 2007 11:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2221755</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/2221755.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=2221755</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=2221755</wfw:comment><description>&lt;A class="" href="http://weblogs.asp.net/scottgu/default.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/default.aspx"&gt;Scott Guthrie&lt;/A&gt; has a &lt;A class="" href="http://weblogs.asp.net/scottgu/archive/2007/04/14/working-with-data-in-asp-net-2-0.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2007/04/14/working-with-data-in-asp-net-2-0.aspx"&gt;post&lt;/A&gt;&amp;nbsp;about some great content that's up on the &lt;A href="http://www.asp.net/"&gt;www.asp.net&lt;/A&gt; site on &lt;A class="" href="http://www.asp.net/Learn/DataAccess/" target=_blank mce_href="http://www.asp.net/Learn/DataAccess/"&gt;Working with Data in ASP.NET&lt;/A&gt;.&amp;nbsp;By default the Visual Basic tutorials are shown but you can also get C# versions as well. &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2221755" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Visual Basic ASP.NET "How-To"- style Videos </title><link>http://blogs.msdn.com/bethmassi/archive/2007/04/11/visual-basic-asp-net-how-to-style-videos.aspx</link><pubDate>Wed, 11 Apr 2007 15:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2090855</guid><dc:creator>Beth Massi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/2090855.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=2090855</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=2090855</wfw:comment><description>&lt;P&gt;One of the things I've been working on is a set of "How-To" or "How-Do-I"&amp;nbsp;style videos for Visual Basic developers (more on the details of this series later ;-)). In doing my video format research I've been looking at videos on the web, in particular the ones on&amp;nbsp;&lt;A href="http://www.asp.net/"&gt;www.asp.net&lt;/A&gt;&amp;nbsp;which impressed me. (&lt;A class="" href="http://blogs.msdn.com/bethmassi/archive/2007/04/03/sql-server-express-video-series.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2007/04/03/sql-server-express-video-series.aspx"&gt;I blogged before about some SQL-Sever Express videos&lt;/A&gt; I saw posted up there.) &lt;/P&gt;
&lt;P&gt;Visual Basic developers writing&amp;nbsp;web applications that are interested in learning &lt;A class="" href="http://ajax.asp.net/" target=_blank mce_href="http://ajax.asp.net/"&gt;ASP.NET AJAX&lt;/A&gt; should really &lt;A class="" href="http://asp.net/learn/videos/default.aspx?tabid=63#ajax" target=_blank mce_href="http://asp.net/learn/videos/default.aspx?tabid=63#ajax"&gt;check out these videos&lt;/A&gt; by &lt;A class="" href="http://blogs.msdn.com/joestagner/" target=_blank mce_href="http://blogs.msdn.com/joestagner/"&gt;Joe Stagner&lt;/A&gt;. They range from&amp;nbsp;3 to 30 minutes and provide great coverage of the &lt;A class="" href="http://ajax.asp.net/" target=_blank mce_href="http://ajax.asp.net/"&gt;AJAX control toolkit&lt;/A&gt;. The videos are&amp;nbsp;shown using&amp;nbsp;Visual Basic but there's sample code available in both VB and C#. &lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2090855" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item></channel></rss>