<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Asp</title>
        <link>http://www.onteorasoftware.com/category/5.aspx</link>
        <description>Asp</description>
        <language>en-US</language>
        <copyright>Ken Tucker</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>Space Coast .Net Winter 09 Tiki Hut Tour</title>
            <link>http://blog.onteorasoftware.net/archive/2009/01/25/space-coast-.net-winter-09-tiki-hut-tour.aspx</link>
            <description>&lt;p&gt;
&lt;span&gt;&lt;span style="font-size: large; font-weight: bold; color: #ff0000"&gt;MSDN Tiki Hut Roadshow&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="timezone"&gt;Wednesday, February 18, 2009 6:30 PM - Wednesday, February 18, 2009 9:30 PM Eastern Time (US &amp;amp; Canada)&lt;/span&gt;
&lt;span class="timezone"&gt;
&lt;br /&gt;
Welcome Time: 6:00 PM&lt;/span&gt;
&lt;!-- start of Event address --&gt;
&lt;br /&gt;
&lt;span&gt;Space Coast Credit Union Corporate Headquarters&lt;/span&gt;
&lt;br /&gt;
&lt;span /&gt;
&lt;/p&gt;
&lt;div id="panLocationAddress"&gt;
&lt;span&gt;8045 N. Wickham Road&lt;br /&gt;
&lt;/span&gt;
&lt;span&gt;Melbourne&lt;/span&gt;
&lt;span&gt;Florida&lt;/span&gt;
&lt;span&gt;32940&lt;br /&gt;
&lt;/span&gt;
&lt;span&gt;United States&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;&lt;strong&gt;Session 1 – jQuery with ASP.NET&lt;/strong&gt;
- JQuery is an open source JavaScript library that has a passionate
following among Ajax developers. Microsoft is integrating the open
source JQuery library into both the ASP.NET Web Forms and ASP.NET MVC
frameworks and providing full product support. Learn how you can take
advantage of JQuery to build richly interactive client-side Ajax
applications when developing either ASP.NET Web Forms or ASP.NET MVC
applications. Also see how JQuery works in combination with ASP.NET
AJAX to provide the best framework for building Ajax applications.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Session 2 – Data Services&lt;/strong&gt; - OnPremise and Off -
In the near future, applications will be developed using a combination
of custom application code and online building block services,
including data-centric services. In this session we discuss
advancements in the Microsoft development platform and online service
interfaces to enable seamless interaction with data services both
on-premises (e.g., ADO.NET Data Services Framework over on-premises SQL
Server) and in the cloud (e.g., SQL Server Data Services). Learn how
you can leverage existing know-how related to LINQ (Language Integrated
Query), data access APIs, data-binding, and more when building
applications using online data.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Session 3 – Architecting for the Cloud using Windows Azure&lt;/strong&gt;
- This session provides a tour of the Windows Azure cloud computing
platform, an overview of its various components, and explains how these
fit together to provide best-of-cloud experiences. We will explore the
architecture that links many of the Microsoft .NET services and lets
ISVs and businesses deliver compelling solutions. Learn how to compose
these services with SQL Data Services to create applications in the
cloud and connect them with on-premise systems. We will also examine
the next generation of messaging, data, access control, and directory
services, and how they fit together to provide a seamless integration
into the cloud.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Speaker’s Bios:&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Joe Healy &lt;/strong&gt;( &lt;a href="http://www.devfish.net/"&gt;http://www.devfish.net&lt;/a&gt;
) is the Developer Evangelist for Microsoft Gulf States Accounts, based
out of Tampa Florida. Joe’s geographical responsibility is to provide
‘developer care’ for the state of Florida. Joe serves a multitude of
clients, from corporate accounts to broad reach events and User Groups.
He lectures on various development and architectural topics focused
around the .Net Frameworks, Visual Studio.NET, and associated servers.
Joe has also served time with eAngler.com, Arthur Andersen, Cap Gemini,
EDS, and IBM in various capacities.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Jeff Barnes&lt;/strong&gt; (Architecture: The Harmony of Mathematical Precision; 
&lt;a href="http://blogs.msdn.com/jbarnes"&gt;http://blogs.msdn.com/jbarnes&lt;/a&gt;
) is the Microsoft Architect Evangelist for the Gulf States District
where he engages with the local Architect community to help solve tough
business problems with leading-edge technology. Jeff has been with
Microsoft for over 10 years and has spent over 7 of those years as an
architect in the Microsoft Consulting Services organization working
with large enterprise customers throughout North America. He especially
enjoys the freedom and flexibility that .NET brings to the table in
order solve the next generation of tough technical challenges.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Register if you plan to attend this event
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032400629&amp;amp;culture=en-US"&gt; https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032400629&amp;amp;culture=en-US&lt;/a&gt;
&lt;/p&gt;
&lt;span /&gt;
&lt;img src="http://blog.onteorasoftware.net/aggbug/7.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ken Tucker</dc:creator>
            <guid>http://blog.onteorasoftware.net/archive/2009/01/25/space-coast-.net-winter-09-tiki-hut-tour.aspx</guid>
            <pubDate>Sun, 25 Jan 2009 12:47:20 GMT</pubDate>
            <wfw:comment>http://blog.onteorasoftware.net/comments/7.aspx</wfw:comment>
            <comments>http://blog.onteorasoftware.net/archive/2009/01/25/space-coast-.net-winter-09-tiki-hut-tour.aspx#feedback</comments>
            <slash:comments>42</slash:comments>
            <wfw:commentRss>http://blog.onteorasoftware.net/comments/commentRss/7.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Uploading a Database to Dotster</title>
            <link>http://blog.onteorasoftware.net/archive/2008/03/12/uploading-a-database-to-dotster.aspx</link>
            <description>&lt;p&gt;
The easiest way to upload a database to dotster is to use the &lt;a href="http://www.codeplex.com/sqlhost"&gt;sql hosting toolkit&lt;/a&gt;.   Visual studio 2008 installs the sql hosting toolkit for you otherwise you need to download and install from the link.  
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Steps to do this
&lt;/p&gt;
&lt;p&gt;
1) Create a database in the dotster control panel.
&lt;/p&gt;
&lt;p&gt;
2) In the server explorer create a link to the database you want to upload.  
&lt;/p&gt;
&lt;p&gt;
3) Right click on the database and select publish to provider in the wizard make sure you select sql 2000 as the target database schema.
&lt;/p&gt;
&lt;p&gt;
4) On the codeplex website they use to have a webpage available to use to help run the script to create your database.  Now they have a webservice for this.   I kind of think the webservice is over kill to just publish 1 database.  So create a c# website which targets the .net framework 2.0
&lt;/p&gt;
&lt;p&gt;
5) Add the script file you created in step 3 to the website.
&lt;/p&gt;
&lt;p&gt;
6) Add the following code to webpage
&lt;/p&gt;
&lt;p&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Web.Security;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.WebControls.WebParts;
&lt;/p&gt;
&lt;p&gt;
namespace WebApplication3&lt;br /&gt;
{&lt;br /&gt;
    public partial class _Default : System.Web.UI.Page&lt;br /&gt;
    {&lt;br /&gt;
        protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            string fileName = Server.MapPath(&lt;font face="Lucida Console" size="2"&gt;@"&amp;lt;&amp;lt;YOUR_SCRIPTFILE&amp;gt;&amp;gt;&lt;/font&gt;.SQL");
&lt;/p&gt;
&lt;p&gt;
            // Connection string to the server you want to execute against&lt;br /&gt;
            string connectionString = &lt;font face="Lucida Console" size="2"&gt;@"Server=&amp;lt;&amp;lt;YOUR_SERVER&amp;gt;&amp;gt;;User ID=&amp;lt;&amp;lt;YOUR_USERNAME&amp;gt;&amp;gt;;Password=&amp;lt;&amp;lt;YOUR_PASSWORD&amp;gt;&amp;gt;;Initial Catalog=&amp;lt;&amp;lt;YOUR_DATABASE&amp;gt;&amp;gt;";&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
            // Timeout of batches (in seconds)&lt;br /&gt;
            int timeout = 600;
&lt;/p&gt;
&lt;p&gt;
            SqlConnection conn = null;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                Response.Write(String.Format("Opening file {0}&amp;lt;BR&amp;gt;", fileName));
&lt;/p&gt;
&lt;p&gt;
                // read file&lt;br /&gt;
                using (StreamReader sr = new StreamReader(new FileStream(fileName, FileMode.Open)))&lt;br /&gt;
                {&lt;br /&gt;
                    Response.Write("Connecting to SQL Server database...&amp;lt;BR&amp;gt;");
&lt;/p&gt;
&lt;p&gt;
                    // Create new connection to database&lt;br /&gt;
                    conn = new SqlConnection(connectionString);
&lt;/p&gt;
&lt;p&gt;
                    conn.Open();
&lt;/p&gt;
&lt;p&gt;
                    while (!sr.EndOfStream)&lt;br /&gt;
                    {&lt;br /&gt;
                        StringBuilder sb = new StringBuilder();&lt;br /&gt;
                        SqlCommand cmd = conn.CreateCommand();
&lt;/p&gt;
&lt;p&gt;
                        while (!sr.EndOfStream)&lt;br /&gt;
                        {&lt;br /&gt;
                            string s = sr.ReadLine();&lt;br /&gt;
                            if (s != null &amp;amp;&amp;amp; s.ToUpper().Trim().Equals("GO"))&lt;br /&gt;
                            {&lt;br /&gt;
                                break;&lt;br /&gt;
                            }
&lt;/p&gt;
&lt;p&gt;
                            sb.AppendLine(s);&lt;br /&gt;
                        }
&lt;/p&gt;
&lt;p&gt;
                        // Execute T-SQL against the target database&lt;br /&gt;
                        try&lt;br /&gt;
                        {&lt;br /&gt;
                            cmd.CommandText = sb.ToString();&lt;br /&gt;
                            cmd.CommandTimeout = timeout;
&lt;/p&gt;
&lt;p&gt;
                            cmd.ExecuteNonQuery();
&lt;/p&gt;
&lt;p&gt;
                        }&lt;br /&gt;
                        catch (Exception ex)&lt;br /&gt;
                        {&lt;br /&gt;
                            Response.Write(sb.ToString().Replace("\n", @"&amp;lt;br/&amp;gt;"));&lt;br /&gt;
                            Response.Write(ex.Message.ToString() + @"&amp;lt;br /&amp;gt;");&lt;br /&gt;
                        }&lt;br /&gt;
                    }
&lt;/p&gt;
&lt;p&gt;
                }&lt;br /&gt;
                Response.Write("T-SQL file executed successfully");&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception ex)&lt;br /&gt;
            {&lt;br /&gt;
                Response.Write(String.Format("An error occured: {0}", ex.ToString()));&lt;br /&gt;
            }&lt;br /&gt;
            finally&lt;br /&gt;
            {&lt;br /&gt;
                // Close out the connection&lt;br /&gt;
                //&lt;br /&gt;
                if (conn != null)&lt;br /&gt;
                {&lt;br /&gt;
                    try&lt;br /&gt;
                    {&lt;br /&gt;
                        conn.Close();&lt;br /&gt;
                        conn.Dispose();&lt;br /&gt;
                    }&lt;br /&gt;
                    catch (Exception e1)&lt;br /&gt;
                    {&lt;br /&gt;
                        Response.Write(String.Format(@"Could not close the connection.  Error was {0}", e1.ToString()));&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }
&lt;/p&gt;
&lt;p&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Uploasd the website to dotster and open the webpage and your database should be copied to the new database.  Make sure you delete the website after you created the database to prevent someone from accidently undo changes to the database after you uploaded it.
&lt;/p&gt;
&lt;img src="http://blog.onteorasoftware.net/aggbug/31.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ken Tucker</dc:creator>
            <guid>http://blog.onteorasoftware.net/archive/2008/03/12/uploading-a-database-to-dotster.aspx</guid>
            <pubDate>Thu, 13 Mar 2008 02:39:16 GMT</pubDate>
            <wfw:comment>http://blog.onteorasoftware.net/comments/31.aspx</wfw:comment>
            <comments>http://blog.onteorasoftware.net/archive/2008/03/12/uploading-a-database-to-dotster.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.onteorasoftware.net/comments/commentRss/31.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Using XLinq to get a list of Photos from Spaces.Live.com</title>
            <link>http://blog.onteorasoftware.net/archive/2007/09/16/using-xlinq-to-get-a-list-of-photos-from-spaces.live.com.aspx</link>
            <description>&lt;h3 align="center"&gt;Using XLinq to get a list of Photos from Spaces.Live.com&lt;/h3&gt;&lt;br /&gt;
&lt;p&gt;
Storing photo albums on line is becoming very popular. Spaces.Live.com photo is one place to store albums which exposes its photo albums via an rss feed. I thought it would be nice to test out Visual Studio 2008 XLinq by getting a list of Photo's from the Tampa Code Camp and display them in WPF Listbox. 
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
The photos I am looking for can be found here. 
&lt;/p&gt;
&lt;a href="http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/feed.rss"&gt;http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/feed.rss&lt;/a&gt; 
&lt;p&gt;
The xml in the rss feed exposes each photo like this 
&lt;/p&gt;
&lt;p&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;volunteers arrived at 630am - nikita polyakov [mvp] led them&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;link&amp;gt;http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/cns!75364D9E73295107!134&amp;lt;/link&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href="http://thedevfish.spaces.live.com&amp;amp;#47;photos&amp;amp;#47;cns&amp;amp;#33;75364D9E73295107&amp;amp;#33;133&amp;amp;#47;cns&amp;amp;#33;75364D9E73295107&amp;amp;#33;134" mce_href="http://thedevfish.spaces.live.com&amp;amp;#47;photos&amp;amp;#47;cns&amp;amp;#33;75364D9E73295107&amp;amp;#33;133&amp;amp;#47;cns&amp;amp;#33;75364D9E73295107&amp;amp;#33;134"&amp;gt;&amp;lt;img src="http://storage.live.com&amp;amp;#47;items&amp;amp;#47;75364D9E73295107&amp;amp;#33;134&amp;amp;#58;thumbnail" mce_src="http://storage.live.com&amp;amp;#47;items&amp;amp;#47;75364D9E73295107&amp;amp;#33;134&amp;amp;#58;thumbnail" border="0"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;volunteers arrived at 630am - nikita polyakov &amp;amp;#91;mvp&amp;amp;#93; led them&amp;lt;/p&amp;gt;&amp;lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8446023494112203015&amp;amp;page=RSS%3a+volunteers+arrived+at+630am+-+nikita+polyakov+%5bmvp%5d+led+them&amp;amp;referrer=" mce_src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8446023494112203015&amp;amp;page=RSS%3a+volunteers+arrived+at+630am+-+nikita+polyakov+%5bmvp%5d+led+them&amp;amp;referrer=" width="1px" height="1px" border="0" alt=""&amp;gt;&amp;lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;amp;NA=1149&amp;amp;amp;PI=73329&amp;amp;amp;RF=&amp;amp;amp;DI=3919&amp;amp;amp;PS=85545&amp;amp;amp;TP=thedevfish.spaces.live.com&amp;amp;amp;GT1=thedevfish" mce_src="http://c.live.com/c.gif?NC=31263&amp;amp;amp;NA=1149&amp;amp;amp;PI=73329&amp;amp;amp;RF=&amp;amp;amp;DI=3919&amp;amp;amp;PS=85545&amp;amp;amp;TP=thedevfish.spaces.live.com&amp;amp;amp;GT1=thedevfish"&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;comments&amp;gt;http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/&amp;lt;/comments&amp;gt;&lt;br /&gt;
      &amp;lt;guid isPermaLink="false"&amp;gt;cns!75364D9E73295107!134&amp;lt;/guid&amp;gt;&lt;br /&gt;
      &amp;lt;pubDate&amp;gt;Tue, 24 Jul 2007 18:24:10 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;
      &amp;lt;slash:comments&amp;gt;0&amp;lt;/slash:comments&amp;gt;&lt;br /&gt;
      &amp;lt;msn:type&amp;gt;photo&amp;lt;/msn:type&amp;gt;&lt;br /&gt;
      &amp;lt;live:type&amp;gt;photo&amp;lt;/live:type&amp;gt;&lt;br /&gt;
      &amp;lt;live:typelabel&amp;gt;Photo&amp;lt;/live:typelabel&amp;gt;&lt;br /&gt;
      &amp;lt;wfw:commentRss&amp;gt;http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/cns!75364D9E73295107!134/feed.rss&amp;lt;/wfw:commentRss&amp;gt;&lt;br /&gt;
      &amp;lt;wfw:comment&amp;gt;http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/cns!75364D9E73295107!134&amp;lt;/wfw:comment&amp;gt;&lt;br /&gt;
      &amp;lt;dcterms:modified&amp;gt;2007-07-24T18:24:10Z&amp;lt;/dcterms:modified&amp;gt;&lt;br /&gt;
      &amp;lt;enclosure type="image/jpeg" url="http://storage.live.com/items/75364D9E73295107!134" /&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt; 
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
Lets query the xml feed and get the title for the photo and convert the quid to a link for the photo. The link is http://storage.live.com/items/PictureId. The guid gives us cns!pictureId so we need to replace cns! with http://storage.live.com/items/ 
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
Class Window1 &lt;br /&gt;
&lt;br /&gt;
    Private Sub Window1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated&lt;br /&gt;
        Dim strUrl As String = "http://thedevfish.spaces.live.com/photos/cns!75364D9E73295107!133/feed.rss "&lt;br /&gt;
        Dim feeds = XElement.Load(strUrl)&lt;br /&gt;
&lt;br /&gt;
        Dim query = From p In feeds.Element("channel").Elements("item") _&lt;br /&gt;
                  Select title = p.Element("title").Value, link = p.Element("guid").Value.ToString.Replace("cns!", "http://storage.live.com/items/")&lt;br /&gt;
&lt;br /&gt;
        lstPhotos.ItemsSource = query.ToList&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Pages XAML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Window x:Class="Window1"&lt;br /&gt;
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;br /&gt;
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&lt;br /&gt;
    xmlns:local="clr-namespace:CodeCampPhotos" &lt;br /&gt;
    Title="Window1" Height="300" Width="300"&amp;gt;&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
&amp;lt;DockPanel&amp;gt;&lt;br /&gt;
&amp;lt;ListBox Name="lstPhotos" DockPanel.Dock="Top"&amp;gt;&lt;br /&gt;
&amp;lt;ListBox.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
&amp;lt;StackPanel&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text="{Binding Path=title}" FontSize="10" /&amp;gt;&lt;br /&gt;
&amp;lt;Image Source="{Binding Path = link}" /&amp;gt;&lt;br /&gt;
&amp;lt;/StackPanel&amp;gt;&lt;br /&gt;
&amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListBox.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListBox&amp;gt;&lt;br /&gt;
&amp;lt;/DockPanel&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/Window&amp;gt; 
&lt;img src="http://blog.onteorasoftware.net/aggbug/55.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ken Tucker</dc:creator>
            <guid>http://blog.onteorasoftware.net/archive/2007/09/16/using-xlinq-to-get-a-list-of-photos-from-spaces.live.com.aspx</guid>
            <pubDate>Sun, 16 Sep 2007 19:39:49 GMT</pubDate>
            <wfw:comment>http://blog.onteorasoftware.net/comments/55.aspx</wfw:comment>
            <comments>http://blog.onteorasoftware.net/archive/2007/09/16/using-xlinq-to-get-a-list-of-photos-from-spaces.live.com.aspx#feedback</comments>
            <wfw:commentRss>http://blog.onteorasoftware.net/comments/commentRss/55.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Nested GridViews</title>
            <link>http://blog.onteorasoftware.net/archive/2007/09/16/nested-gridviews.aspx</link>
            <description>&lt;h3 align="center"&gt;Nested GridViews&lt;/h3&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
In this example we are going to display the orders and its details from the Northwind database in one GridView.  In an TemplateField place a GridView which calls a function to get the child records. 
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
The Web Page
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
&amp;lt;%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %&amp;gt;
&lt;/p&gt;
&lt;p&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "&lt;a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;"&amp;gt;&lt;br /&gt;
&amp;lt;head runat="server"&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;asp:GridView ID="GridView1" runat="server" CellPadding="4" GridLines="None"&lt;br /&gt;
                AutoGenerateColumns="False" ForeColor="#333333"&amp;gt;&lt;br /&gt;
                &amp;lt;FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" /&amp;gt;&lt;br /&gt;
                &amp;lt;RowStyle BackColor="#F7F6F3" ForeColor="#333333" /&amp;gt;&lt;br /&gt;
                &amp;lt;SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /&amp;gt;&lt;br /&gt;
                &amp;lt;PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /&amp;gt;&lt;br /&gt;
                &amp;lt;HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /&amp;gt;&lt;br /&gt;
                &amp;lt;AlternatingRowStyle BackColor="White" ForeColor="#284775" /&amp;gt;&lt;br /&gt;
                &amp;lt;Columns&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:BoundField DataField="OrderId" HeaderText="Order ID" /&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:TemplateField HeaderText="Order Info"&amp;gt;&lt;br /&gt;
                        &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                            &amp;lt;span&amp;gt;Customer &amp;lt;/span&amp;gt;&lt;br /&gt;
                            &amp;lt;asp:Label ID="lblCust" Text='&amp;lt;%# Eval("CustomerID") %&amp;gt;' runat="server" /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
                            &amp;lt;span&amp;gt;Order Date &amp;lt;/span&amp;gt;&lt;br /&gt;
                            &amp;lt;asp:Label ID="lblOrdDate" Text='&amp;lt;%# Convert.ToDateTime(Eval("OrderDate")).ToShortDateString %&amp;gt;'&lt;br /&gt;
                                runat="server" /&amp;gt;&lt;br /&gt;
                        &amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;
                    &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:TemplateField HeaderText="Ordered Items"&amp;gt;&lt;br /&gt;
                        &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                            &amp;lt;asp:GridView runat="server" ID="Details" DataSource='&amp;lt;%# GetDetails(Eval("OrderID")) %&amp;gt;'&amp;gt;&lt;br /&gt;
                                &amp;lt;FooterStyle BackColor="#CCCCCC" ForeColor="Black" /&amp;gt;&lt;br /&gt;
                                &amp;lt;RowStyle BackColor="#EEEEEE" ForeColor="Black" /&amp;gt;&lt;br /&gt;
                                &amp;lt;SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /&amp;gt;&lt;br /&gt;
                                &amp;lt;PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /&amp;gt;&lt;br /&gt;
                                &amp;lt;HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" /&amp;gt;&lt;br /&gt;
                                &amp;lt;AlternatingRowStyle BackColor="#DCDCDC" /&amp;gt;&lt;br /&gt;
                            &amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;
                        &amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;
                    &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
                &amp;lt;/Columns&amp;gt;&lt;br /&gt;
                &amp;lt;EditRowStyle BackColor="#999999" /&amp;gt;&lt;br /&gt;
            &amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
The Code Behind File
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Imports System.Data.SqlClient&lt;br /&gt;
Imports System.Data
&lt;/p&gt;
&lt;p&gt;
Partial Class _Default&lt;br /&gt;
    Inherits System.Web.UI.Page&lt;br /&gt;
    Dim dtDetails As New DataTable
&lt;/p&gt;
&lt;p&gt;
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;br /&gt;
        If Not IsPostBack Then
&lt;/p&gt;
&lt;p&gt;
            Dim dt As New DataTable&lt;br /&gt;
            Dim strConn As String&lt;br /&gt;
            Dim da As SqlDataAdapter&lt;br /&gt;
            Dim conn As SqlConnection
&lt;/p&gt;
&lt;p&gt;
            strConn = "Server = .\sqlexpress;Database = NorthWind; Integrated Security = SSPI;"&lt;br /&gt;
            conn = New SqlConnection(strConn)
&lt;/p&gt;
&lt;p&gt;
            da = New SqlDataAdapter("Select * from Orders", conn)&lt;br /&gt;
            da.Fill(dt)&lt;br /&gt;
            da = New SqlDataAdapter("Select * from [Order Details]", conn)&lt;br /&gt;
            da.Fill(dtDetails)&lt;br /&gt;
            GridView1.DataSource = dt&lt;br /&gt;
            GridView1.DataBind()&lt;br /&gt;
        End If
&lt;/p&gt;
&lt;p&gt;
    End Sub
&lt;/p&gt;
&lt;p&gt;
    Public Function GetDetails(ByVal strID As String) As DataTable&lt;br /&gt;
        Dim dt As DataTable = dtDetails.Clone&lt;br /&gt;
        For Each dr As DataRow In dtDetails.Select("OrderID = " &amp;amp; strID)&lt;br /&gt;
            dt.ImportRow(dr)&lt;br /&gt;
        Next&lt;br /&gt;
        Return dt&lt;br /&gt;
    End Function&lt;br /&gt;
End Class
&lt;/p&gt;
&lt;img src="http://blog.onteorasoftware.net/aggbug/75.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ken Tucker</dc:creator>
            <guid>http://blog.onteorasoftware.net/archive/2007/09/16/nested-gridviews.aspx</guid>
            <pubDate>Sun, 16 Sep 2007 19:27:46 GMT</pubDate>
            <wfw:comment>http://blog.onteorasoftware.net/comments/75.aspx</wfw:comment>
            <comments>http://blog.onteorasoftware.net/archive/2007/09/16/nested-gridviews.aspx#feedback</comments>
            <wfw:commentRss>http://blog.onteorasoftware.net/comments/commentRss/75.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>