<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Andrew Wu&#039;s Practical ASP.NET Thoughts</title>
	<atom:link href="http://smartdeveloper.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://smartdeveloper.wordpress.com</link>
	<description>Practical solutions for problems that occur in day to day web development with ASP.NET</description>
	<lastBuildDate>Tue, 28 Jun 2011 15:47:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='smartdeveloper.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Andrew Wu&#039;s Practical ASP.NET Thoughts</title>
		<link>http://smartdeveloper.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://smartdeveloper.wordpress.com/osd.xml" title="Andrew Wu&#039;s Practical ASP.NET Thoughts" />
	<atom:link rel='hub' href='http://smartdeveloper.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Roll over highlight rows with click action in ASP.NET and JQuery</title>
		<link>http://smartdeveloper.wordpress.com/2011/02/22/roll-over-highlight-rows-with-click-action-in-asp-net-and-jquery/</link>
		<comments>http://smartdeveloper.wordpress.com/2011/02/22/roll-over-highlight-rows-with-click-action-in-asp-net-and-jquery/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 22:35:43 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=29</guid>
		<description><![CDATA[JQuery is a great library that makes javascript much easier to work with. You can have it work nicely with ASP.NET to do some nice and easy user experience enhancements. One such enhancement is the ability to have table rows that highlight and have a click action. I like using ASP.NET Repeaters because they are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=29&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JQuery is a great library that makes javascript much easier to work with. You can have it work nicely with ASP.NET to do some nice and easy user experience enhancements. One such enhancement is the ability to have table rows that highlight and have a click action. I like using ASP.NET Repeaters because they are really light weight and easy to work with. Here is a quick example:<br />
<pre class="brush: xml;">
&lt;asp:Repeater ID=&quot;rpRepeater&quot; runat=&quot;server&quot;&gt;
  &lt;HeaderTemplate&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;Date&lt;/td&gt;
        &lt;td&gt;From&lt;/td&gt;
        &lt;td&gt;Subject&lt;/td&gt;
   &lt;/HeaderTemplate&gt;
   &lt;ItemTemplate&gt;
     &lt;tr class=&quot;emailRow&quot;&gt;
       &lt;td&gt;&lt;%# emailSummary.Date.ToLongDateString()%&gt;&lt;/td&gt;
       &lt;td&gt;&lt;%# emailSummary.Sender %&gt;&lt;/td&gt;
       &lt;td&gt;&lt;%# emailSummary.Subject %&gt;&lt;input type=&quot;hidden&quot; value=&quot;&lt;%# emailSummary.MessageID %&gt;&quot; class=&quot;emailMessageId&quot; /&gt;&lt;/td&gt;                                
     &lt;/tr&gt;
   &lt;/ItemTemplate&gt;
   &lt;FooterTemplate&gt;
 &lt;/table&gt;
 &lt;/FooterTemplate&gt;
&lt;/asp:Repeater&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function() {
            $('.emailRow').click(function() {
                 var emailid = $('.emailMessageId', this).get()[0];
                 document.location = 'Message.aspx?MessageId=' + emailid.value;
            }).hover(
                function() {
                    $('td', this).css({ color: 'yellow', cursor: 'pointer' });
                },
                function() {
                    $('td', this).css({ color: 'black', cursor: 'auto' });
                });           
        });            
    &lt;/script&gt;
</pre></p>
<p>By putting a hidden field with the id of the message embedded in the row, we can extract the id using jquery in the click event. This is a nice and easy way to get a natural user experience to select a row without using links, or a postback.</p>
<p>But what happens if you have a linkbutton, button or some other postback control on the row in this scheme? The click event will happen first in the jquery handler before the postback can happen, so the linkbutton effectively gets hidden or overridden and doesn&#8217;t work.</p>
<p>You can fix this by specifying another css class in the column in which the control is in. I&#8217;m adding a delete linkbutton to illustrate this in the following code:</p>
<p><pre class="brush: xml;">
&lt;asp:Repeater ID=&quot;rpRepeater&quot; runat=&quot;server&quot;&gt;
  &lt;HeaderTemplate&gt;
    &lt;table&gt;
      &lt;tr&gt;
        &lt;td&gt;Date&lt;/td&gt;
        &lt;td&gt;From&lt;/td&gt;
        &lt;td&gt;Subject&lt;/td&gt;
        &lt;td&gt;Delete&lt;/td&gt;
   &lt;/HeaderTemplate&gt;
   &lt;ItemTemplate&gt;
     &lt;tr class=&quot;emailRow&quot;&gt;
       &lt;td&gt;&lt;%# emailSummary.Date.ToLongDateString()%&gt;&lt;/td&gt;
       &lt;td&gt;&lt;%# emailSummary.Sender %&gt;&lt;/td&gt;
       &lt;td&gt;&lt;%# emailSummary.Subject %&gt;&lt;input type=&quot;hidden&quot; value=&quot;&lt;%# emailSummary.MessageID %&gt;&quot; class=&quot;emailMessageId&quot; /&gt;&lt;/td&gt;                                
       &lt;td class=&quot;ignoreClick&quot;&gt;&lt;asp:LinkButton ID=&quot;lbDelete&quot; runat=&quot;server&quot; CommandArgument=&lt;%# emailSummary.MessageID %&gt; Text=&quot;Delete&quot; OnClick=&quot;lbDelete_Click&quot;&gt;&lt;/asp:LinkButton&gt;&lt;/td&gt;
 &lt;/tr&gt;
   &lt;/ItemTemplate&gt;
   &lt;FooterTemplate&gt;
 &lt;/table&gt;
 &lt;/FooterTemplate&gt;
&lt;/asp:Repeater&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function() {
            var ignore = false;
            $('.emailRow').click(function() {
                 if (!ignore) {
                   var emailid = $('.emailMessageId', this).get()[0];
                   document.location = 'Message.aspx?MessageId=' + emailid.value;
                 }
            }).hover(
                function() {
                    $('td', this).css({ color: 'yellow', cursor: 'pointer' });
                },
                function() {
                    $('td', this).css({ color: 'black', cursor: 'auto' });
                });           

            $('.ignoreClick').click(function() {
                ignore = true;
            })
        });            
    &lt;/script&gt;
</pre></p>
<p>I introduced a flag named: ignore &#8211; that informs the code to skip the row action on the click to allow the asp.net control to do its postback. I&#8217;m sure there are other solutions that are better, this was just the easiest one I could think of. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=29&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2011/02/22/roll-over-highlight-rows-with-click-action-in-asp-net-and-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>Reading or Importing mixed type Excel data in C sharp</title>
		<link>http://smartdeveloper.wordpress.com/2011/02/18/reading-or-importing-mixed-type-excel-data-in-c-sharp/</link>
		<comments>http://smartdeveloper.wordpress.com/2011/02/18/reading-or-importing-mixed-type-excel-data-in-c-sharp/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 23:55:16 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[NPOI]]></category>
		<category><![CDATA[Oledb]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=24</guid>
		<description><![CDATA[I have a web application that needs to read data from an Excel spreadsheet. This data is mixed type &#8211; meaning that it can be strings, integers, dates or whatever. My application needs the exact string representation of this data to be put into a database. At first I thought using oledb would do the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=24&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have a web application that needs to read data from an Excel spreadsheet. This data is mixed type &#8211; meaning that it can be strings, integers, dates or whatever. My application needs the exact string representation of this data to be put into a database.</p>
<p>At first I thought using oledb would do the trick. So I did the following:</p>
<p><pre class="brush: csharp;">
string connString = string.Format(&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=No;IMEX=1;&quot;, excelFile);

using (OleDbConnection conn = new OleDbConnection(connString))
{
   conn.Open();

   using (OleDbCommand cmd = new OleDbCommand())
   {
      cmd.Connection = conn;
      cmd.CommandText = @&quot;SELECT * from [&quot; + ddlWorksheetNames.SelectedValue + &quot;$]&quot;;

      using (OleDbDataReader sReader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
      {
         List&lt;string&gt; arrID = new List&lt;string&gt;();
         while (sReader.Read())
         {
            arrID.Add(merchantCartId);
         }
         conn.Close();
      }
   }
}
</pre></p>
<p>This seemingly worked ok, until I tested it with mixed type data. Because the Jet provider tries to guess the data type of the data, if it thinks that all the data are ints, it will ignore strings. So I found out you can try to force the engine to treat everything as a string by putting IMEX=1 in the connection string, and also by changing the TypeGuessRows key to have a value of 0 in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel for 64bit machines, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel for 32bit)</p>
<p>Unfortunately doing this causes larger int values to be translated into scientific notation. I just want the integer in its normal form to be translated to a string. There are really no good ways around this problem, unless you modify the Excel document by prepending the integers with a &#8216; or by some other preprocessing technique. This is not an option when you don&#8217;t want users of your application to change their spreadsheet just to get it to work with your application.</p>
<p>My next try was to use the Excel Objects Library. So I downloaded the Office Primary Interop Assemblies at:<br />
<a href="http://msdn.microsoft.com/en-us/library/15s06t57(v=vs.80).aspx">Office Primary Interop Assemblies</a><br />
And I worked up a quick solution:</p>
<p><pre class="brush: csharp;">
var xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
object misValue = System.Reflection.Missing.Value;
var xlWorkBook = xlApp.Workbooks.Open(&quot;YOURFILENAME&quot;, 0, true, 5, &quot;&quot;, &quot;&quot;, true,
  Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, &quot;\t&quot;, false, false, 0, true, 1, 0);
var xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

List&lt;string&gt; arrID = new List&lt;string&gt;();
int row = 1;
while (((Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[row, 1]).Value2 != null)
{
  arrID.Add(((Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[row, 1]).Value2.ToString());
  row++;
}
</pre></p>
<p>This worked great. But when I needed to deploy this to the test and eventually the production servers, I realized that Office needs to be installed on these machines for this to work. Plus any other developers would need Office to get this to compile correctly. So this option was not feasible.</p>
<p>Finally after looking around, I found that there is an open source library called NPOI that does all kinds of Office related import/export stuff without needing Office installed. You can find it at: <a href="http://npoi.codeplex.com"> NPOI library</a></p>
<p>Here is a quick sample of reading excel data using the library:<br />
<pre class="brush: csharp;">
var file = new FileStream(&quot;YOURFILENAME&quot;, FileMode.Open);
var workbook = new HSSFWorkbook(file);
var sheet = workbook.GetSheet(&quot;YOURWORKSHEET&quot;);

int row = 0;
var arrID = new List&lt;string&gt;();
while (sheet.GetRow(row) != null &amp;&amp; 
         sheet.GetRow(row).GetCell(0) != null &amp;&amp;
         sheet.GetRow(row).GetCell(0).ToString() != &quot;&quot;)
{
   arrID.Add(sheet.GetRow(row).GetCell(0).ToString());
   row++;                    
}        
</pre></p>
<p>Finally, I found a solution that allows my application to read or import data from Excel without ignoring data, and without convert large integers to scientific notation. Sometimes things that should be easy take much more time than they should.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=24&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2011/02/18/reading-or-importing-mixed-type-excel-data-in-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>Reusing ReportViewer for multiple reports &#8211; throws exception on SetParameters</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/30/reusing-reportviewer-for-multiple-reports-throws-exception-on-setparameters/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/30/reusing-reportviewer-for-multiple-reports-throws-exception-on-setparameters/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 19:48:28 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ReportViewer]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=21</guid>
		<description><![CDATA[I have an asp.net page that has one ReportViewer control on it that gets reused for multiple reports. Everything seemed to work fine until I started putting in Reports with parameters. The first load of a Report would always be successful, but when a Report that needed parameters was loaded I got this exception: An [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=21&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have an asp.net page that has one ReportViewer control on it that gets reused for multiple reports. Everything seemed to work fine until I started putting in Reports with parameters. The first load of a Report would always be successful, but when a Report that needed parameters was loaded I got this exception:</p>
<p>An attempt was made to set a report parameter [parameter name] that is not defined in this report.</p>
<p>The solution to this problem is to use the Reset method on the ReportViewer before you set the data for the ReportViewer.</p>
<p>ReportViewer1.Reset()</p>
<p>Once I did this, everything ran great.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=21&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/30/reusing-reportviewer-for-multiple-reports-throws-exception-on-setparameters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>ReportViewer 2008 doesn&#8217;t render correctly with IIS7</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-2008-doesnt-render-correctly-with-iis7/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-2008-doesnt-render-correctly-with-iis7/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 18:37:08 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ReportViewer]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=19</guid>
		<description><![CDATA[Another ReportViewer 2008 issue. After deploying my app to the production server, when I viewed the report I got a blank report with missing images in the report toolbar. When I clicked on those images I got a javascript error: this.Controller is null. It turns out that you need to add a Handler Mapping for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=19&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Another ReportViewer 2008 issue. After deploying my app to the production server, when I viewed the report I got a blank report with missing images in the report toolbar. When I clicked on those images I got a javascript error: this.Controller is null.</p>
<p>It turns out that you need to add a Handler Mapping for the report viewer control if you are using IIS7. This wasn&#8217;t happening on my development workstation because I was using the built in Cassini web server.</p>
<p>This is what fixed it:</p>
<p>Open Internet Information Services (IIS) Manager and select your Web application.<br />
Under IIS area, double-click on Handler Mappings icon.<br />
At the Action pane on your right, click on Add Managed Handler.<br />
At the Add Managed Handler dialog, enter the following:</p>
<p>Request path: Reserved.ReportViewerWebControl.axd<br />
Type: Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (this is a drop down)<br />
Name: Reserved-ReportViewerWebControl-axd</p>
<p>Thanks to:</p>
<p><a href="http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html">http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=19&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-2008-doesnt-render-correctly-with-iis7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>ReportViewer versions</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-versions/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-versions/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 18:36:02 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ReportViewer]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=16</guid>
		<description><![CDATA[I have been struggling with implementing the ReportViewer control on my web app. After successfully building and testing the control my on workstation, my problems began when trying to deploy it. The first mistake I made was using the latest ReportViewer control on my machine. Microsoft.ReportViewer.WebForms, Version=10.0.0.0 This version is actually part of Visual Studio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=16&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been struggling with implementing the ReportViewer control on my web app. After successfully building and testing the control my on workstation, my problems began when trying to deploy it.</p>
<p>The first mistake I made was using the latest ReportViewer control on my machine.<br />
Microsoft.ReportViewer.WebForms, Version=10.0.0.0<br />
This version is actually part of Visual Studio 2010, I installed the Beta on my machine.<br />
I was developing using Visual Studio 2008 though, and the machine I was deploying to didn&#8217;t have the assembly in the GAC. It took my awhile to track this down, but the version I really needed to use was:<br />
Microsoft.ReportViewer.WebForms, Version=9.0.0.0<br />
This is the version used with Visual Studio 2008. I should have noticed this before, because the designer was breaking when I used the wrong version of the assembly in my web app.</p>
<p>This is why I got this error when I first deployed with Version 10:<br />
Could not load file or assembly &#8216;Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&#8217; or one of its dependencies. The system cannot find the file specified<br />
I thought that I needed to install the Microsoft Report Viewer 2008 SP1 Redistributable. I did this and of course it still didn&#8217;t work.</p>
<p>By the way, to look at the assemblies in the GAC use gacutil.exe. This was located on my machine in:<br />
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin<br />
gacutil.exe -l<br />
This gives you a list of a the assemblies in your GAC.</p>
<p>After changing my app to use the 9.0.0.0 control, the app stopped through the exception mentioned above.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=16&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/24/reportviewer-versions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>Printing error with Reporting Services Report Viewer Control with IE8 and Vista</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/24/printing-error-with-reporting-services-report-viewer-control-with-ie8-and-vista/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/24/printing-error-with-reporting-services-report-viewer-control-with-ie8-and-vista/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 18:35:35 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ReportViewer]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=14</guid>
		<description><![CDATA[I ran into an error with IE8 and Vista today while trying to get the Report Viewer for SQL Reporting Services working on my app. Here is a good resource for fixing this: http://www.donkitchen.com/2009/05/29/ms-reporting-services-report-viewer-control-printing-errors-with-ie8-and-vista/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=14&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I ran into an error with IE8 and Vista today while trying to get the Report Viewer for SQL Reporting Services working on my app.</p>
<p>Here is a good resource for fixing this:<br />
<a href="http://www.donkitchen.com/2009/05/29/ms-reporting-services-report-viewer-control-printing-errors-with-ie8-and-vista/">http://www.donkitchen.com/2009/05/29/ms-reporting-services-report-viewer-control-printing-errors-with-ie8-and-vista/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=14&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/24/printing-error-with-reporting-services-report-viewer-control-with-ie8-and-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting BR element visible/invisble dynamically</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/24/setting-br-element-visibleinvisble-dynamically/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/24/setting-br-element-visibleinvisble-dynamically/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 18:33:05 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=8</guid>
		<description><![CDATA[I ran into an interesting problem today trying to get the Line Break HTML element (BR) visible programmatically. The first thought I had was to make the element an HTML Server control. So I turned it into: &#60;br id=&#8221;br1&#8243; runat=&#8221;server&#8221; /&#62; on aspx: Then on the code behind file I accessed it as a HtmlGenericControl, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=8&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I ran into an interesting problem today trying to get the Line Break HTML element (BR) visible programmatically. The first thought I had was to make the element an HTML Server control. So I turned it into:<br />
&lt;br id=&#8221;br1&#8243; runat=&#8221;server&#8221; /&gt;<br />
on aspx:</p>
<p>Then on the code behind file I accessed it as a HtmlGenericControl, since there is no specific Html server control for it. This seemed to work fine, until I tested it and it rendered as:<br />
&lt;br&gt;&lt;br/&gt;</p>
<p>The problem with this is that some browsers treat this as two separate &lt;br&gt;<br />
elements, resulting in two line breaks.</p>
<p>The solution I came up with is to use the LiteralControl. &lt;asp:literal&gt;<br />
You can set exactly what you want the HTML to be on this control in the code behind, and of course set the Visible attribute programmatically. I completely forgot about this control, and can now see some of the reasons why you would use it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=8&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/24/setting-br-element-visibleinvisble-dynamically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
		<item>
		<title>References for learning ASP.NET</title>
		<link>http://smartdeveloper.wordpress.com/2009/11/24/references-for-learning-asp-net/</link>
		<comments>http://smartdeveloper.wordpress.com/2009/11/24/references-for-learning-asp-net/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 18:29:28 +0000</pubDate>
		<dc:creator>smartdeveloper</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://smartdeveloper.wordpress.com/?p=4</guid>
		<description><![CDATA[The following is a list of resources for ASP.NET, thanks to Alex Chang for providing this for me. ASP.NET MVC: Here is the free chapter from a ASP.NET MVC book from Scott Guthrie: http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx It&#8217;s an almost 200 pages chapter that demonstrate how to build an end-to-end application with ASP.NET MVC framework. You can also [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=4&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The following is a list of resources for ASP.NET, thanks to Alex Chang for providing this for me.</p>
<p>ASP.NET MVC:<br />
Here is the free chapter from a ASP.NET MVC book from Scott Guthrie:<br />
<a href="http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx">http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx</a><br />
It&#8217;s an almost 200 pages chapter that demonstrate how to build an end-to-end application with ASP.NET MVC framework. You can also get the source code from that link as well. If you have time, I would highly recommend going through this chapter to get familiar with ASP.NET MVC. I plan to do the same myself.<br />
Here are three ASP.NET MVC books:<br />
<a href="http://www.amazon.com/Pro-ASP-NET-Framework-Steven-Sanderson/dp/1430210079/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1255315851&amp;sr=8-1">http://www.amazon.com/Pro-ASP-NET-Framework-Steven-Sanderson/dp/1430210079/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1255315851&amp;sr=8-1</a><br />
<a href="http://www.amazon.com/ASP-NET-Framework-Unleashed-Stephen-Walther/dp/0672329980/ref=pd_sim_b_2">http://www.amazon.com/ASP-NET-Framework-Unleashed-Stephen-Walther/dp/0672329980/ref=pd_sim_b_2</a><br />
<a href="http://www.amazon.com/ASP-NET-MVC-Action-Jeffrey-Palermo/dp/1933988622/ref=pd_sim_b_4">http://www.amazon.com/ASP-NET-MVC-Action-Jeffrey-Palermo/dp/1933988622/ref=pd_sim_b_4</a><br />
ASP.NET AJAX:<br />
And the book that&#8217;s excellent on ASP.NET AJAX is:<br />
<a href="http://www.amazon.com/ASP-NET-AJAX-Action-Alessandro-Gallo/dp/1933988142/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1244514911&amp;sr=8-1">http://www.amazon.com/ASP-NET-AJAX-Action-Alessandro-Gallo/dp/1933988142/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1244514911&amp;sr=8-1</a><br />
Here are a few good articles on ASP.NET AJAX:<br />
<a href="http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/">http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/</a>(personally I would advise not use Update Panel as it&#8217;s not pure AJAX, it&#8217;s more like a psuedo AJAX that doesn&#8217;t save time or resource)<br />
<a href="http://encosia.com/2009/05/13/what-aspnet-developers-should-know-about-jquery/">http://encosia.com/2009/05/13/what-aspnet-developers-should-know-about-jquery/</a><br />
<a href="http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/">http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/</a><br />
<a href="http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/">http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/</a><br />
<a href="http://www.aspnetpro.com/articles/2009/05/asp200905de_f/asp200905de_f.asp">http://www.aspnetpro.com/articles/2009/05/asp200905de_f/asp200905de_f.asp</a></p>
<p>On ASP.NET 2.0 &#8211; 3.5:<br />
Here is a more focused ASP.NET training path that I put together for another brother. Some of these you may have already done. I am listing these in the order:</p>
<p>1. Go these two videos: <a href="http://www.asp.net/learn/videos/video-34.aspx">http://www.asp.net/learn/videos/video-34.aspx</a> and <a href="http://www.asp.net/learn/videos/video-33.aspx">http://www.asp.net/learn/videos/video-33.aspx</a></p>
<p>2. Go through the videos in the &#8220;Videos for ASP.NET 2.0 Beginners&#8221; section at: <a href="http://www.asp.net/learn/videos/">http://www.asp.net/learn/videos/</a></p>
<p>3. Go through these videos on SQL server briefly to get acquainted with using SQL Express: <a href="http://www.asp.net/learn/sql-videos/">http://www.asp.net/learn/sql-videos/</a></p>
<p>4. Go through this 3 part article on building a 3 tier ASP.NET application: <a href="http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=416">http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=416</a> This is more advanced, so follow the step by step tutorials closely and make sure you understand all the concepts presented here. This will give you a good foundation. 5. Go through these 3 articles: <a href="http://msdn2.microsoft.com/en-us/library/aa581776.aspx">http://msdn2.microsoft.com/en-us/library/aa581776.aspx</a>, <a href="http://msdn2.microsoft.com/en-us/library/aa581779.aspx">http://msdn2.microsoft.com/en-us/library/aa581779.aspx</a>, <a href="http://msdn2.microsoft.com/en-us/library/aa581781.aspx">http://msdn2.microsoft.com/en-us/library/aa581781.aspx</a> These may be similiar topics as #4, but because this is where the meat of the tier programming is, it&#8217;s good to get really familiar with it.</p>
<p>6. Go through all the Data Access tutorials here: <a href="http://www.asp.net/learn/data-access/">http://www.asp.net/learn/data-access/</a> Someone actually made videos out of these tutorials at: <a href="http://www.dotnetvideos.net/">http://www.dotnetvideos.net/</a> The registration for the site is free and you can also get 6 months free of ASP.NET Pro magazine (<a href="http://www.dotnetvideos.net/aspnetProsubscriptionoffer/tabid/292/Default.aspx">http://www.dotnetvideos.net/aspnetProsubscriptionoffer/tabid/292/Default.aspx</a>) which is probably the best ASP.NET magazine out there.</p>
<p>7. Go through these video tutorials on ASP.NET 3.5: <a href="http://www.asp.net/learn/3.5-videos/">http://www.asp.net/learn/3.5-videos/</a></p>
<p>8. Go through these videos on ASP.NET AJAX: <a href="http://www.asp.net/learn/ajax-videos/">http://www.asp.net/learn/ajax-videos/</a> I think these will probably keep you busy for awhile.</p>
<p>Some other resources: <a href="http://www.microsoft.com/events/series/aspnet.aspx?tab=virtuallabs">http://www.microsoft.com/events/series/aspnet.aspx?tab=virtuallabs</a> <a href="http://msdn2.microsoft.com/en-us/asp.net/aa336567.aspx">http://msdn2.microsoft.com/en-us/asp.net/aa336567.aspx</a> <a href="http://msdn2.microsoft.com/en-us/asp.net/aa336576.aspx">http://msdn2.microsoft.com/en-us/asp.net/aa336576.aspx</a><br />
Essential ASP.NET 2.0<a href="http://www.amazon.com/Essential-ASP-NET-2-0-Fritz-Onion/dp/0321237706">http://www.amazon.com/Essential-ASP-NET-2-0-Fritz-Onion/dp/0321237706</a> Maximizing ASP.NET<a href="http://www.amazon.com/Maximizing-ASP-NET-Object-Oriented-Development-Addison-Wesley/dp/0321294475/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1198128081&amp;sr=1-1">http://www.amazon.com/Maximizing-ASP-NET-Object-Oriented-Development-Addison-Wesley/dp/0321294475/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1198128081&amp;sr=1-1</a><br />
Reference links (lots of free video tutorials and articles): <a href="http://www.asp.net/get-started/">http://www.asp.net/get-started/</a> Here are some more resources and tutorials on ASP.NET 2.0. <a href="http://msdn.microsoft.com/asp.net/">http://msdn.microsoft.com/asp.net/</a> <a href="http://msdn.microsoft.com/asp.net/reference/multimedia/default.aspx#threepoint">http://msdn.microsoft.com/asp.net/reference/multimedia/default.aspx#threepoint</a> <a href="http://www.asp.net/Tutorials/quickstart.aspx">http://www.asp.net/Tutorials/quickstart.aspx</a> <a href="http://www.c-sharpcorner.com/AspNet2.0.asp">http://www.c-sharpcorner.com/AspNet2.0.asp</a> <a href="http://www.c-sharpcorner.com/adonet2.0.asp">http://www.c-sharpcorner.com/adonet2.0.asp</a></p>
<p>Free ASP.NET training:<a href="http://www.appdev.com/promo/freetrain.asp?PC=RN00848&amp;T=d_SASP">http://www.appdev.com/promo/freetrain.asp?PC=RN00848&amp;T=d_SASP</a><br />
Other resources:<br />
<a href="http://msdn2.microsoft.com/en-us/asp.net/default.aspx">http://msdn2.microsoft.com/en-us/asp.net/default.aspx</a> <a href="http://www.asp.net/learn/data-access/">http://www.asp.net/learn/data-access/</a> <a href="http://www.asp.net/community/articles/">http://www.asp.net/community/articles/</a> <a href="http://www.asp.net/ajax/">http://www.asp.net/ajax/</a> <a href="http://www.dotnetjunkies.com/article/">http://www.dotnetjunkies.com/article/</a></p>
<p>RSS feeds (You should make good use of Google Reader for these):</p>
<p><a href="http://weblogs.asp.net/MainFeed.aspx">http://weblogs.asp.net/MainFeed.aspx</a> <a href="http://www.nikhilk.net/Rss.ashx">http://www.nikhilk.net/Rss.ashx</a> <a href="http://aspnet.4guysfromrolla.com/rss/rss.aspx">http://aspnet.4guysfromrolla.com/rss/rss.aspx</a> <a href="http://mattberseth.com/atom.xml">http://mattberseth.com/atom.xml</a> <a href="http://www.hanselman.com/blog/SyndicationService.asmx/GetRssCategory?categoryName=ASP.NET">http://www.hanselman.com/blog/SyndicationService.asmx/GetRssCategory?categoryName=ASP.NET</a> <a href="http://www.asp.net/community/articles/rss.ashx">http://www.asp.net/community/articles/rss.ashx</a> <a href="http://msdn.microsoft.com/asp.net/rss.xml">http://msdn.microsoft.com/asp.net/rss.xml</a> <a href="http://feeds.feedburner.com/rickstrahl">http://feeds.feedburner.com/rickstrahl</a> <a href="http://weblogs.asp.net/scottgu/Rss.aspx">http://weblogs.asp.net/scottgu/Rss.aspx</a> <a href="http://feeds.feedburner.com/ScottOnWriting">http://feeds.feedburner.com/ScottOnWriting</a> <a href="http://www.pheedo.com/f/dotnetslackers">http://www.pheedo.com/f/dotnetslackers</a> <a href="http://weblogs.asp.net/dwahlin/rss.aspx">http://weblogs.asp.net/dwahlin/rss.aspx</a><br />
<a href="http://weblogs.asp.net/MainFeed.aspx">http://weblogs.asp.net/MainFeed.aspx</a><br />
<a href="http://weblogs.asp.net/scottgu/rss.aspx">http://weblogs.asp.net/scottgu/rss.aspx</a><br />
<a href="http://www.asp.net/community/articles/rss.ashx">http://www.asp.net/community/articles/rss.ashx</a><br />
<a href="http://weblogs.asp.net/despos/rss.aspx">http://weblogs.asp.net/despos/rss.aspx</a><br />
<a href="http://feeds.feedburner.com/ScottOnWriting">http://feeds.feedburner.com/ScottOnWriting</a><br />
<a href="http://aspdotnetcodebook.blogspot.com/feeds/posts/default?alt=rss">http://aspdotnetcodebook.blogspot.com/feeds/posts/default?alt=rss</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/smartdeveloper.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/smartdeveloper.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/smartdeveloper.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=smartdeveloper.wordpress.com&amp;blog=10658627&amp;post=4&amp;subd=smartdeveloper&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://smartdeveloper.wordpress.com/2009/11/24/references-for-learning-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/10a6c46b929ecb9fc1b7fae3e4390716?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">smartdeveloper</media:title>
		</media:content>
	</item>
	</channel>
</rss>
