<?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>hi my name is tim</title>
	<atom:link href="http://himynameistim.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://himynameistim.wordpress.com</link>
	<description>A blog about .NET and all things releated</description>
	<lastBuildDate>Thu, 27 Jan 2011 11:43:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='himynameistim.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>hi my name is tim</title>
		<link>http://himynameistim.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://himynameistim.wordpress.com/osd.xml" title="hi my name is tim" />
	<atom:link rel='hub' href='http://himynameistim.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Training Buddy</title>
		<link>http://himynameistim.wordpress.com/2011/01/22/training-buddy/</link>
		<comments>http://himynameistim.wordpress.com/2011/01/22/training-buddy/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 13:53:54 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[Training Buddy]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Cycling]]></category>
		<category><![CDATA[Fitness]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Tracker]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Walking]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=163</guid>
		<description><![CDATA[Training Buddy is an app that I wrote for Windows Phone 7, intended for anyone who likes Running, Cycling or Walking and would like to keep a log of their workouts. The app will monitor the route you take along with various stats like speed, pace and how many calories you are burning. During the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=163&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://himynameistim.files.wordpress.com/2011/01/phonedark.jpg"><img class="size-full wp-image-159 alignleft" title="Training Buddy" src="http://himynameistim.files.wordpress.com/2011/01/phonedark.jpg?w=200&#038;h=374" alt="" width="200" height="374" /></a></p>
<p>Training Buddy is an app that I wrote for Windows Phone 7, intended for anyone who likes Running, Cycling or Walking and would like to keep a log of their workouts.</p>
<p>The app will monitor the route you take along with various stats like speed, pace and how many calories you are burning. During the activity you can set up audio alerts to let you know how your doing and afterwards it will store a log of all the activities you have done for review later on.</p>
<p>For more information on the app visit <a title="Training Buddy App Website" href="http://www.TrainingBuddyApp.com">www.trainingbuddyapp.com</a> or view the app in the <a title="Training Buddy in Zune Marketplace" href="http://social.zune.net/redirect?type=phoneApp&amp;id=bc77e282-a30a-e011-9264-00237de2db9e" target="_blank">Zune Marketplace</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=163&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2011/01/22/training-buddy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>

		<media:content url="http://himynameistim.files.wordpress.com/2011/01/phonedark.jpg" medium="image">
			<media:title type="html">Training Buddy</media:title>
		</media:content>
	</item>
		<item>
		<title>.Net Tip: Default Button for Enter Key</title>
		<link>http://himynameistim.wordpress.com/2010/08/27/net-tip-default-button-for-enter-key/</link>
		<comments>http://himynameistim.wordpress.com/2010/08/27/net-tip-default-button-for-enter-key/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:44:08 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[.Net Tips]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[.NET 4]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Default Button]]></category>
		<category><![CDATA[Enter Key]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=147</guid>
		<description><![CDATA[I don&#8217;t know if I should be happy to now know about this, or just conserned that it&#8217;s taken me this long to discover. But one issue that surfaces time and time again when programming in ASP.NET, is that issue that pressing enter/return in a text feild doesn&#8217;t always do what you want it to do.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=147&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know if I should be happy to now know about this, or just conserned that it&#8217;s taken me this long to discover. But one issue that surfaces time and time again when programming in ASP.NET, is that issue that pressing enter/return in a text feild doesn&#8217;t always do what you want it to do. </p>
<p>On a normal website you can have many forms each with their own submit button which becomes the default action when pressing return on one of the forms feilds. However in ASP.NET Web Forms there is only ever one form on a page, but there could be 10 different buttons each needing to be the default action for a particular text box. </p>
<p>The solution as it turns out is very simple and you have two options both introduced in .NET 2.0 (yes that&#8217;s how old it is!) </p>
<p>1. Default button for the form. If your page has more than one button, but there is only one that you want to fire when you hit enter then in the code behind you can just type&#8230; </p>
<pre class="brush: csharp;">
Form.DefaultButton = Button1
</pre>
<p>or it can also be specified in your aspx file </p>
<pre class="brush: xml;"> 
&lt;form runat=&quot;server&quot; defaultbutton=&quot;Button1&quot;&gt;
</pre>
<p>2. If you need to be more specific a panel can also have a default button&#8230; </p>
<pre class="brush: csharp;">
Panel1.DefaultButton = Button1
</pre>
<p>or again is can be specified in your aspx file</p>
<pre class="brush: xml;">
&lt;asp:Panel runat=&quot;server&quot; DefaultButton=&quot;Button1&quot;&gt;
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=147&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/08/27/net-tip-default-button-for-enter-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>Master Page Error</title>
		<link>http://himynameistim.wordpress.com/2010/08/26/master-page-error/</link>
		<comments>http://himynameistim.wordpress.com/2010/08/26/master-page-error/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 06:17:14 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Master Page]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=139</guid>
		<description><![CDATA[If you&#8217;re like me you may have gone into design mode in visual studio 2010 hoping to do some work only to be greeted with the following message. Which initially is a bit confusing, as your site may have just run without any problems. But even so you go to check the placeholders anyway and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=139&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re like me you may have gone into design mode in visual studio 2010 hoping to do some work only to be greeted with the following message.</p>
<p><img src="http://himynameistim.files.wordpress.com/2010/08/082610_0617_masterpagee1.jpg?w=476&#038;h=102" alt="" width="476" height="102" /></p>
<p>Which initially is a bit confusing, as your site may have just run without any problems. But even so you go to check the placeholders anyway and they look fine. Then you copy and paste the ID&#8217;s out of the Master Page just to be sure, but still no luck. Check through the Master Page itself and that also looks fine, no squiggly lines to be seen. Finally create a new WebForm linked to the master page, but even this gives the same error.</p>
<p>Now if you have the problem I had, look at the title tag in the Master Page. Does it say &lt;title /&gt; or &lt;title&gt;&lt;/title&gt;? If it&#8217;s the first then that&#8217;s your issue. By default VS2010 will put in the correct tag, but if like me you&#8217;ve just slapped in some HTML from an old project or from a PSD conversion that&#8217;s been done for you, then chances are you may end up overwriting the title tag as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=139&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/08/26/master-page-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>

		<media:content url="http://himynameistim.files.wordpress.com/2010/08/082610_0617_masterpagee1.jpg" medium="image" />
	</item>
		<item>
		<title>Hot Keys Made Simple</title>
		<link>http://himynameistim.wordpress.com/2010/07/29/hot-keys-made-simple/</link>
		<comments>http://himynameistim.wordpress.com/2010/07/29/hot-keys-made-simple/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 21:17:49 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ctrl+s]]></category>
		<category><![CDATA[hot keys]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Keyboard Shortcuts]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=124</guid>
		<description><![CDATA[Previously I have blogged about how you can create keyboard shortcuts using JavaScript. In other words being able to add functionality to your web app for someone to do a ctrl+s. My previous example wasn&#8217;t particularly hard and only used 10 lines of code, but this week I stumbled across a jQuery plugin that makes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=124&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://himynameistim.files.wordpress.com/2010/07/4415196162_620b2615e9.jpg"><img class="alignnone size-medium wp-image-135" title="Keyboard Keys Dismantled " src="http://himynameistim.files.wordpress.com/2010/07/4415196162_620b2615e9.jpg?w=300&#038;h=211" alt="" width="300" height="211" /></a></p>
<p><a href="http://himynameistim.files.wordpress.com/2010/07/4415196162_620b2615e9.jpg"></a>Previously I have blogged about how you can create keyboard shortcuts using JavaScript. In other words being able to add functionality to your web app for someone to do a ctrl+s. My previous example wasn&#8217;t particularly hard and only used 10 lines of code, but this week I stumbled across a jQuery plugin that makes it easier.</p>
<p><a title="Hot Keys" href="http://code.google.com/p/js-hotkeys/" target="_blank">http://code.google.com/p/js-hotkeys/</a></p>
<p>With this plugin, in just 1 line of code you can bind a function to a keyboard shortcut. What&#8217;s more you don&#8217;t even need to look up the correct keycodes as it takes a simple text parameters.</p>
<pre class="brush: jscript;">
$(document).bind('keydown', 'ctrl+c', fn);
</pre>
<p>Combine this with a function that just triggers a button click and you have some very cool advanced looking functionality written in around 5 &#8211; 10 minuets.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=124&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/07/29/hot-keys-made-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>

		<media:content url="http://himynameistim.files.wordpress.com/2010/07/4415196162_620b2615e9.jpg?w=300" medium="image">
			<media:title type="html">Keyboard Keys Dismantled </media:title>
		</media:content>
	</item>
		<item>
		<title>Custom Validator Error from Server Side</title>
		<link>http://himynameistim.wordpress.com/2010/07/18/custom-validator-error-from-server-side/</link>
		<comments>http://himynameistim.wordpress.com/2010/07/18/custom-validator-error-from-server-side/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 10:01:06 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CustomValidator]]></category>
		<category><![CDATA[IValidator]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=108</guid>
		<description><![CDATA[The built in ASP.NET validators are amazing as we all know. You just drag them on the page, tell them what control to validate, give them a summary control to list the errors and they do it. But what if there&#8217;s something you need to add server side? Such as something that needs to check with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=108&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The built in ASP.NET validators are amazing as we all know. You just drag them on the page, tell them what control to validate, give them a summary control to list the errors and they do it. But what if there&#8217;s something you need to add server side? Such as something that needs to check with the database before saving. You already have your validation summary control, so it would be nice to re-user that and have everything automatically looking the same. But it would appear there&#8217;s no easy way of doing it built in, so here&#8217;s an easy way of doing it&#8230; </p>
<h2>Creating a Custom Validation Error</h2>
<p>First your going to need a class with some static class&#8217;s that you can pass your error message to. Here I have two functions one for simply adding the error to the page and the other for adding the error to the page with a specific validation group. I am using a CustomValidator object to make this all work, another option is to implement IValidator but it&#8217;s actually more effort than&#8217;s needed. The other section to note is that I&#8217;m setting the Error.Text to a non breaking space (this is what would normally go next to the form field you&#8217;re validating). This is because if you don&#8217;t then it will default to the ErrorMessage which we only want to go into the summary. If you try setting it to a normal space it will still also default to the summary text.</p>
<pre class="brush: csharp;"> 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

/// &lt;summary&gt;
/// Summary description for Validator
/// &lt;/summary&gt;
public class ValidationError
{

    public static void Display(string Message)
    {
        Display(Message, &quot;&quot;);
    }

  public static void Display(string Message, string ValidationGroup)
    {
  CustomValidator Error = new CustomValidator();
        Error.IsValid = false;
        Error.ErrorMessage = Message;
        Error.ValidationGroup = ValidationGroup;
        Error.Text = &quot;&amp;nbsp;&quot;;

  Page currentPage = HttpContext.Current.Handler as Page;
        currentPage.Validators.Add(Error);
    }
}
</pre>
<p>Now to trigger the error you just need to called the function as below:</p>
<pre class="brush: csharp;">
ValidationError.Display(&quot;Useful error message&quot;, &quot;ValidationGroupName&quot;);
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=108&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/07/18/custom-validator-error-from-server-side/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating Events in ASP.NET</title>
		<link>http://himynameistim.wordpress.com/2010/07/18/creating-events-in-asp-net/</link>
		<comments>http://himynameistim.wordpress.com/2010/07/18/creating-events-in-asp-net/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 09:48:38 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Delegates]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[User Controls]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=105</guid>
		<description><![CDATA[Creating your own events on your own controls is something that is essential if you want you web app to work well and also provide you with reusable controls. It&#8217;s easy to skip past the problem and find another way to get your code to do what you want it to do and detect the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=105&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Creating your own events on your own controls is something that is essential if you want you web app to work well and also provide you with reusable controls. It&#8217;s easy to skip past the problem and find another way to get your code to do what you want it to do and detect the change another way. But you end up with much nicer code if your controls can have proper events for a piece of action, and you web page can have proper event handlers on each. Not only that but the code you need to write in generally a copy and past job and not that hard.</p>
<h2>The Code</h2>
<p>While it&#8217;s not that hard, the amount of code that is needed is quite a lot more than you may expect. Fortunately though it&#8217;s code you going to just re-use again and again changing small bits as needed.</p>
<pre class="brush: csharp;">
    //1 - Event args (use default, but eventually pass in data through here)
    public class SaveCompleteEventArgs : EventArgs
    {
        public SaveCompleteEventArgs(int inDataValue)
        {
            this.DataValue = inDataValue;
        } //end of con

        public readonly int DataValue;
    }

    //2 - define delegate
    public delegate void SaveCompleteEventHandler(object sender, SaveCompleteEventArgs e);

    //3 - define the event itself
    public event SaveCompleteEventHandler SaveComplete;

    //4 - the protected virtual method to notify registered objects of the request
    //	virtual so that it can be overridden.
    protected virtual void OnSaveComplete(SaveCompleteEventArgs e)
    {
        //if the UpdateData event is empty, then a delegate has not been added to it yet.
        if (SaveComplete != null)
        {
            //event exists, call it:
            SaveComplete(this, e);
        } //end of if
    }

    //5 - method that translates the input into the desired event
    public void TriggeringMethod(int strData)
    {

        // get new event args
        //EventArgs e = new EventArgs();
        SaveCompleteEventArgs e = new SaveCompleteEventArgs(strData);

        // call the virtual method
        OnSaveComplete(e);
    }
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=105&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/07/18/creating-events-in-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ to SQL Inserts and Deletes</title>
		<link>http://himynameistim.wordpress.com/2010/07/18/linq-to-sql-inserts-and-deletes/</link>
		<comments>http://himynameistim.wordpress.com/2010/07/18/linq-to-sql-inserts-and-deletes/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 09:37:56 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[LINQ to SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[Insert]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=111</guid>
		<description><![CDATA[Inserting and Deleting records in a database using LINQ to SQL is just as easy as selecting information. What&#8217;s not so easy is actually finding out how to do it. There are lots of excellent blog posts around such as this one by Scott Guthrie http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx, however most of them we&#8217;re all written for the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=111&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Inserting and Deleting records in a database using LINQ to SQL is just as easy as selecting information. What&#8217;s not so easy is actually finding out how to do it. There are lots of excellent blog posts around such as this one by Scott Guthrie <a href="http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx">http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx</a>, however most of them we&#8217;re all written for the Beta version of LINQ to SQL which let you do a .Add() or .Remove() on your table, which was  changed on the final release. </p>
<p>So to insert do something like this: </p>
<pre class="brush: csharp;">
DataClassesDataContext dataContext = new DataClassesDataContext(); 

//Create my new Movie record
Movie movie = new Movie();
movie.Name = &quot;Tim's movie&quot;; 

//Insert the movie into the data context
dataContext.Movies.InsertOnSubmit(movie); 

//Submit the change to the database
dataContext.SubmitChanges();
</pre>
<p>And to delete do something like this:</p>
<pre class="brush: csharp;">
DataClassesDataContext dataContext = new DataClassesDataContext();

var movies = from m in dataContext.Movies
                  where m.Name == &quot;Tim's movie&quot;
                  select m;

dataContext.Movies.DeleteAllOnSubmit(movies);

dataContext.SubmitChanges();
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=111&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/07/18/linq-to-sql-inserts-and-deletes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ to SQL Connection Strings</title>
		<link>http://himynameistim.wordpress.com/2010/06/23/linq-to-sql-connection-strings/</link>
		<comments>http://himynameistim.wordpress.com/2010/06/23/linq-to-sql-connection-strings/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 07:43:10 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[LINQ to SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Class Library]]></category>
		<category><![CDATA[Connection Strings]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=96</guid>
		<description><![CDATA[LINQ to SQL is great but like all great things at some point it does something that you don&#8217;t expect and gives you a headache. An example of this happened to me this week with the differences between how connection strings are handeled when you LINQ to SQL model is in a class library rather [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=96&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>LINQ to SQL is great but like all great things at some point it does something that you don&#8217;t expect and gives you a headache. An example of this happened to me this week with the differences between how connection strings are handeled when you LINQ to SQL model is in a class library rather than a Website or Web Application.</p>
<p>What makes this issue particulalry annoying is that it only appears when you try and change the database server that your code is looking at which could end up being when it&#8217;s going live or moving to a staging server.</p>
<p>So we all know about connection strings, their quite simple and you just store them in your web.config file, which is how LINQ to SQL works when your using them in a Website. But as soon as you move them to a class library things change. First your connection string name is no longer that simple name you gave it e.g. ConnectionString, now it is prefixed with the namespace which is annoying but not the end of the world. Second discovery though is no matter what you do, it just doesn&#8217;t seem to pick up the connection string from the web.config file. Reason being your origional connection string has now compiled itself in the class library&#8217;s dll and that is what it is using.</p>
<p><strong>The Solution</strong></p>
<p>Depending when you discovered this the solution is not to bad as you either have a lot of code to change or only a small amount. You can always pass a connection string to the constructor when you are createing an instance of the data context e.g.</p>
<pre class="brush: csharp;">
DataClasses1DataContext da = new DataClasses1DataContext(connectionstring);
</pre>
<p>You can also set the connection string on your LINQ to SQL model to be blank, this will remove the default contructor and force you to pass a connection string. This way you web application has the choice of what connection string to use and you can keep re-using your class library in different projects.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=96&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2010/06/23/linq-to-sql-connection-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>Add keyboard shortcuts to your web app</title>
		<link>http://himynameistim.wordpress.com/2009/12/25/add-keyboard-shortcuts-to-your-web-app/</link>
		<comments>http://himynameistim.wordpress.com/2009/12/25/add-keyboard-shortcuts-to-your-web-app/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 08:55:02 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Keyboard Shortcuts]]></category>
		<category><![CDATA[keydown]]></category>
		<category><![CDATA[keyup]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=76</guid>
		<description><![CDATA[Keyboard shortcuts are common place in desktop apps, to such an extent that you would probably be surprised if holding ctrl+s didn&#8217;t save a document, or if holding ctrl+n didn&#8217;t do some kind of new action. But with website&#8217;s its a lot less common. The bigger email providers all now provide the support, but for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=76&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Keyboard shortcuts are common place in desktop apps, to such an extent that you would probably be surprised if holding ctrl+s didn&#8217;t save a document, or if holding ctrl+n didn&#8217;t do some kind of new action. But with website&#8217;s its a lot less common. The bigger email providers all now provide the support, but for the sites produced smaller companies out there it&#8217;s still not the norm. Actually adding the support for it though is actually qutie straight forward.</p>
<p>In this example I&#8217;m going to use jQuery but it&#8217;s just as easy in everyday JavaScript.</p>
<pre class="brush: jscript;">
    var isCtrl = false;

    $(document).keyup(function (e) {
	    if(e.which == 17) isCtrl=false;
    }).keydown(function (e) {
	    if(e.which == 17) isCtrl=true;
	    if(e.which == 83 &amp;&amp; isCtrl == true) {
		    alert(&quot;Hello World&quot;);
		    return false;
	    }
    });
</pre>
<p>What is happening here is relively straight forward. When you hold a key down, JavaScript will pick up an event that says which key was pressed by it&#8217;s number. However what it can&#8217;t do is pick up a combination, so if you do a ctrl+s what you get is two events (one for the ctrl and one for the s). So on every keydown if it&#8217;s a ctrl we set the variable isCtrl to true, then on the next keydown we know it&#8217;s a combination. The keyup detects the end of the ctrl being held down and sets the variable back to false.</p>
<p>The return false, when we&#8217;ve detected a ctrl+s is also very important as what this will do is stop the browser from carrying out any shortcuts it may have had for that combination.</p>
<p>So there we have it, in around 10 lines of code you can add some functionality to your web app, that seems really advanced but is actually really really simple.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=76&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2009/12/25/add-keyboard-shortcuts-to-your-web-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>
	</item>
		<item>
		<title>.NET Charts (Pleasing clients by giving them a graph to look at)</title>
		<link>http://himynameistim.wordpress.com/2009/12/19/net-charts-pleasing-clients-by-giving-them-a-graph-to-look-at/</link>
		<comments>http://himynameistim.wordpress.com/2009/12/19/net-charts-pleasing-clients-by-giving-them-a-graph-to-look-at/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 14:46:05 +0000</pubDate>
		<dc:creator>timgriff84</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[Charts]]></category>
		<category><![CDATA[Graphs]]></category>

		<guid isPermaLink="false">http://himynameistim.wordpress.com/?p=60</guid>
		<description><![CDATA[Irruspective of if your working on some kind of company extranet or the admin side of a public facing site, one thing that will make you&#8217;re clients go ooooooo and love your work is the inclusion of a funky looking chart. It may not serve any amazing purpose, but as there looking through all the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=60&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Irruspective of if your working on some kind of company extranet or the admin side of a public facing site, one thing that will make you&#8217;re clients go ooooooo and love your work is the inclusion of a funky looking chart. It may not serve any amazing purpose, but as there looking through all the boring text area&#8217;s and buttons that actually make up the functinality of the site, the inclusion of nice looking chart is going to make them go &#8220;oooo that&#8217;s nice&#8221; and like you even more. For those of us working in .NET, thank&#8217;s to an update from Microsoft at the end of 2008 it&#8217;s also something that&#8217;ve very quick an easy to do. Better yet the update was free so the only cost is the time you take to impletement it. </p>
<p>First off if you want to use the chart&#8217;s and you haven&#8217;t downloaded them then that&#8217;s what you need to do. The chart&#8217;s shipped after .NET 3.5 so there a seperate install, .NET 4 however has them included by default. </p>
<ul>
<li><a title="Chart controls for .NET 3.5" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;DisplayLang=en" target="_blank">Chart controls for .NET 3.5</a></li>
<li><a title="Add on for visual studio 2008" href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en" target="_blank">Add on for visual studio 2008</a></li>
<li><a title="Chart controls samples" href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591" target="_blank">Chart controls samples</a></li>
</ul>
<h2>Using the Chart Control</h2>
<p>Like I said adding a chart to a page is a quick and easy thing to do. Once you have the Visual Studio add on installed you can also drag and drop everything into place. However im going to go into a bit more detail. </p>
<p>To start your going to need a data source. In this example im using a SQL Data Source object for ease of use, in a production environment I heavely recomend against using them as there going to make your code a completly unmanagable mess, instead I would use something like a Entity Data Source. My chart is going to be showing a graph of mobile phone handset popularity so my SQL is simply just returning a table of phone names and how many people use them. </p>
<p>Code so far: </p>
<div><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;<span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">SqlDataSource</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ID</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartDB&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">runat</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;server&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ConnectionString</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;</span></span><span style="font-size:x-small;">&lt;%$ ConnectionStrings:ConnectionString %&gt;</span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&#8220;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">SelectCommand</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;SELECT [Name], [People] FROM [PhonePopularity]&#8220;&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">SqlDataSource</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span> </span></span></div>
<div><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"><span style="color:#000000;"> </span></span></span></div>
<p>Next we need to add a chart, the easiest way to do this is to just drag a chart object onto the page from the toolbox, however if you do want to type it yourself it&#8217;s not particularly complex. </p>
<p>First you will need to register the assembly on the page.. </p>
<div><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"> </span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;">&lt;%<span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">@</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Register</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">assembly</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">namespace</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;System.Web.UI.DataVisualization.Charting&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">tagprefix</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;asp&#8221;</span></span><span style="font-size:x-small;"> %&gt;</span> </span></span></span></div>
<p>And then add the chart like so&#8230;</p>
<div><span style="font-size:x-small;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;<span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Chart</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ID</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Chart1&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">runat</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;server&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">DataSourceID</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartDB&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Height</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;400px&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Width</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;400px&#8221;&gt;<br />
</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Chart</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></span></span></span></div>
<p>Now we&#8217;re ready to start customizing what type of chart we&#8217;re going to have and what data it should show from our data source.</p>
<p>To actually show a chart there&#8217;s two bits of information you have to describe, area&#8217;s and series&#8217;. The first area&#8217;s is used to define an area for a chart to appear, one interesting thing about the chart control is you arn&#8217;t limited to just one area. In fact in this example I&#8217;m going to have to chart&#8217;s one showing a pie chart of phone popularity that will quickly show what kind of share each phone has, and then a second bar chart making it more clear the actual numbers people have of each phone. Area&#8217;s also let you set properties on what the chart is actually going to look like as well. In this instance I&#8217;m going to set for both charts to be 3D.</p>
<p>The second bit of information is the Series. This is where you&#8217;re actually specifying what data is going to be shown in which area and what kind of chart it is (e.g. Pie, Column, Donut etc). My completed code then looks like this&#8230;</p>
<p><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span></span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Chart</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ID</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Chart1&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">runat</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;server&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">DataSourceID</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartDB&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Height</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;400px&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Width</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;400px&#8221;&gt;</span></span></p>
<p style="padding-left:30px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">series</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p style="padding-left:60px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Series</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ChartArea</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartArea1&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ChartType</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Pie&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Name</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Series1&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">XValueMember</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Name&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">YValueMembers</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;People&#8221;&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Series</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Series</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">ChartArea</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartArea2&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Name</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Series2&#8243;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">XValueMember</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Name&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">YValueMembers</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;People&#8221;&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Series</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p style="padding-left:30px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">series</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">chartareas</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p style="padding-left:60px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">ChartArea</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">AlignmentOrientation</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;Horizontal&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Name</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartArea1&#8243;&gt;</span></span></p>
<p style="padding-left:90px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Area3DStyle</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Enable3D</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;True&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">/&gt;</span></span></p>
<p style="padding-left:60px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">ChartArea</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;<br />
</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">ChartArea</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">Name</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;ChartArea2&#8243;&gt;</span></span></p>
<p style="padding-left:90px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">area3dstyle</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#ff0000;"><span style="font-size:x-small;color:#ff0000;">enable3d</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">=&#8221;True&#8221;</span></span><span style="font-size:x-small;"> </span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">/&gt;</span></span></p>
<p style="padding-left:60px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">ChartArea</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p style="padding-left:30px;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">chartareas</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&lt;/</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">asp</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">:</span></span><span style="font-size:x-small;color:#a31515;"><span style="font-size:x-small;color:#a31515;">Chart</span></span><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&gt;</span></span></p>
<p>Depending on your data this should give you something like this&#8230;</p>
<p><a href="http://himynameistim.files.wordpress.com/2009/12/charts.jpg"><img class="alignnone size-medium wp-image-72" title="Charts" src="http://himynameistim.files.wordpress.com/2009/12/charts.jpg?w=266&#038;h=300" alt="" width="266" height="300" /></a></p>
<p>This is just a simple example of what you can do, but if you download the Chart Samples Project and have a look through there is no end to the possibilites with everything from different styles of charts to adding ajax functionality even with the ability to click of different parts of the carts to trigger events.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/himynameistim.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/himynameistim.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/himynameistim.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=himynameistim.wordpress.com&amp;blog=9227527&amp;post=60&amp;subd=himynameistim&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://himynameistim.wordpress.com/2009/12/19/net-charts-pleasing-clients-by-giving-them-a-graph-to-look-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b7b0a673a197a126d225c073a856315f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timgriff84</media:title>
		</media:content>

		<media:content url="http://himynameistim.files.wordpress.com/2009/12/charts.jpg?w=266" medium="image">
			<media:title type="html">Charts</media:title>
		</media:content>
	</item>
	</channel>
</rss>
