<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Kiyoshi's Blog</title><subtitle type="html">Kiyoshi Kusachi is a web developer living in Hawaii</subtitle><id>http://weblogs.asp.net/kiyoshi/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/kiyoshi/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2008-01-30T15:56:02Z</updated><entry><title>WCF - Using WebHttpBinding for REST services</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx</id><published>2008-10-08T22:23:03Z</published><updated>2008-10-08T22:23:03Z</updated><content type="html">&lt;p&gt;You can use WebHttpBinding to have REST endpoints in your WCF application to expose simple public service calls.&amp;#160; &lt;/p&gt;  &lt;p&gt;Use a &lt;strong&gt;UriTemplate&lt;/strong&gt; in your service contract and a &lt;strong&gt;WebHttpBinding&lt;/strong&gt; endpoint.&amp;#160; Here's an example...&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;p&gt;&amp;#160;&lt;font size="2"&gt;&lt;font face="Arial"&gt; &lt;strong&gt;(IContractName.cs)&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="2"&gt;&lt;font face="Arial"&gt;&lt;font color="#0000ff"&gt;namespace&lt;/font&gt; TestNamespace       &lt;br /&gt;{ &lt;/font&gt;&lt;/font&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;font color="#408080"&gt;ServiceContract&lt;/font&gt;(SessionMode=&lt;font color="#008080"&gt;SessionMode&lt;/font&gt;.NotAllowed)]       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;public interface&lt;/font&gt; IContractName       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;font color="#408080"&gt;WebGet&lt;/font&gt;(UriTemplate = &amp;quot;&lt;font color="#804040"&gt;date/{year}/{month}/{day}&lt;/font&gt;&amp;quot;, ResponseFormat = &lt;font color="#408080"&gt;WebMessageFormat&lt;/font&gt;.Xml)]       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;font color="#408080"&gt;OperationContract&lt;/font&gt;]       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;string&lt;/font&gt; GetDate(string day, string month, string year);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;(ServiceType.cs)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;font color="#0000ff"&gt;namespace&lt;/font&gt; TestNamespace       &lt;br /&gt;{&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;public class&lt;/font&gt; ServiceType : &lt;font color="#408080"&gt;IContractName&lt;/font&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;public string&lt;/font&gt; GetDate(&lt;font color="#0000ff"&gt;string&lt;/font&gt; day, &lt;font color="#0000ff"&gt;string&lt;/font&gt; month, &lt;font color="#0000ff"&gt;string&lt;/font&gt; year)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;return new&lt;/font&gt; &lt;font color="#408080"&gt;DateTime(Convert&lt;/font&gt;.ToInt32(year), &lt;font color="#408080"&gt;Convert&lt;/font&gt;.ToInt32(month), &lt;font color="#408080"&gt;Convert&lt;/font&gt;.ToInt32(day)).ToString(&amp;quot;&lt;font color="#800000"&gt;dddd, MMMM dd, yyyy&lt;/font&gt;&amp;quot;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;p&gt;Creating a WebHttpBinding endpoint into your WCF service.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you get a &amp;quot;&lt;font color="#ff0000"&gt;&lt;strong&gt;The Address property on ChannelFactory.Endpoint was null.&lt;/strong&gt;&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;exception, m&lt;/font&gt;ake sure to add a &amp;quot;behaviorConfiguration&amp;quot; property to your endpoint.&amp;#160; This value should point to a custom defined &amp;quot;endpointBehavior&amp;quot;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;(App.config)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial"&gt;&amp;lt;&lt;font color="#800000"&gt;system.serviceModel&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#800000"&gt;services&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#800000"&gt;service&lt;/font&gt; &lt;font color="#ff0000"&gt;behaviorConfiguration&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;Default&lt;/font&gt;&amp;quot; &lt;font color="#ff0000"&gt;name&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;TestNamespace.ServiceType&lt;/font&gt;&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#800000"&gt;endpoint &lt;/font&gt;&lt;font color="#ff0000"&gt;address&lt;/font&gt;=&amp;quot;&amp;quot; &lt;font color="#008000"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;behaviorConfiguration&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;webBehavior&lt;/font&gt;&amp;quot;&lt;/strong&gt;&lt;/font&gt; &lt;font color="#ff0000"&gt;binding&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;webHttpBinding&lt;/font&gt;&amp;quot; &lt;font color="#ff0000"&gt;contract&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;TestNamespace.ServiceContract&lt;/font&gt;&amp;quot; /&amp;gt;       &lt;br /&gt;&lt;font color="#800000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;host&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;baseAddresses&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add&lt;/font&gt; &lt;font color="#ff0000"&gt;baseAddress&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;http://localhost:8080/testservice&lt;/font&gt;&amp;quot; /&amp;gt;       &lt;br /&gt;&lt;font color="#800000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/baseAddresses&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/host&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/service&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/services&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behaviors&amp;gt;&lt;/font&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;font color="#008000"&gt;&lt;strong&gt;&lt;font color="#800000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpointBehaviors&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behavior&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;webBehavior&lt;/font&gt;&amp;quot;&amp;gt;           &lt;br /&gt;&lt;font color="#800000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;webHttp /&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpointBehaviors&amp;gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#800000"&gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceBehaviors&amp;gt;&lt;/font&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#800000"&gt;behavior&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;Default&lt;/font&gt;&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#800000"&gt;serviceMetadata&lt;/font&gt; &lt;font color="#ff0000"&gt;httpGetEnabled&lt;/font&gt;=&amp;quot;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&amp;quot;/&amp;gt;       &lt;br /&gt;&lt;font color="#800000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/serviceBehaviors&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behaviors&amp;gt;         &lt;br /&gt;&amp;lt;/system.serviceModel&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;p&gt;Using your browser to point to &lt;a href="http://localhost:8080/testservice/date/1995/10/10"&gt;http://localhost:8080/testservice/date/1995/10/10&lt;/a&gt; , the result will look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/kiyoshi/WindowsLiveWriter/WCFUsingWebHttpBindingforRESTservices_AE10/testservice_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="92" alt="testservice" src="http://weblogs.asp.net/blogs/kiyoshi/WindowsLiveWriter/WCFUsingWebHttpBindingforRESTservices_AE10/testservice_thumb.jpg" width="590" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;p&gt;Moving futher ..... If you would like to add this running service into another application like a Web application, use a WebChannelFactory in your application.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;font face="Arial"&gt;&lt;font color="#008080"&gt;WebChannelFactory&lt;/font&gt;&amp;lt;&lt;strong&gt;&lt;font color="#008080"&gt;IContractName&lt;/font&gt;&lt;/strong&gt;&amp;gt; cf = &lt;font color="#0000ff"&gt;new&lt;/font&gt; &lt;font color="#008080"&gt;WebChannelFactory&lt;/font&gt;&amp;lt;&lt;strong&gt;&lt;font color="#008080"&gt;IContractName&lt;/font&gt;&lt;/strong&gt;&amp;gt;(&lt;font color="#0000ff"&gt;new&lt;/font&gt; &lt;font color="#008080"&gt;Uri&lt;/font&gt;(&amp;quot;&lt;font color="#800000"&gt;http://localhost:8080/testservice&lt;/font&gt;&amp;quot;));         &lt;br /&gt;&lt;font color="#008080"&gt;ServiceType&lt;/font&gt; channel = cf.CreateChannel();         &lt;br /&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt; testDate = channel.GetDate(&amp;quot;&lt;font color="#800000"&gt;1995&lt;/font&gt;&amp;quot;,&amp;quot;&lt;font color="#800000"&gt;10&lt;/font&gt;&amp;quot;,&amp;quot;&lt;font color="#800000"&gt;10&lt;/font&gt;&amp;quot;); &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6666351" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author></entry><entry><title>Get an Enum value from a string</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/10/06/get-an-enum-value-from-a-string.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/10/06/get-an-enum-value-from-a-string.aspx</id><published>2008-10-06T21:53:19Z</published><updated>2008-10-06T21:53:19Z</updated><content type="html">&lt;p&gt;I love to use enumerated datatypes for programming.&amp;#160; This code snippet is really useful for getting an enum value from it's name rather than it's integer index.&lt;/p&gt;  &lt;p&gt;The original article was here.&amp;#160; I just coped it here for my backup purposes:&amp;#160; &lt;a title="http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/" href="http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/"&gt;http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;div class="csharp"&gt;&lt;u&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/u&gt;:&lt;/div&gt;  &lt;div class="csharp"&gt;&amp;#160;&lt;/div&gt;  &lt;div class="csharp"&gt;&lt;span style="color: #0000ff"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="csharp"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; T StringToEnum&amp;lt;T&amp;gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name&lt;span style="color: #000000"&gt;)&lt;/span&gt;     &lt;br /&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #000000"&gt;(&lt;/span&gt;T&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Enum&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;Parse&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;T&lt;span style="color: #000000"&gt;)&lt;/span&gt;, name&lt;span style="color: #000000"&gt;)&lt;/span&gt;;     &lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;hr width="100%" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/u&gt;:&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #0000ff"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;enum&lt;/span&gt; DaysOfWeek     &lt;br /&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;     &lt;br /&gt;&amp;#160;&amp;#160; Monday,     &lt;br /&gt;&amp;#160;&amp;#160; Tuesday,     &lt;br /&gt;&amp;#160;&amp;#160; Wednesday,     &lt;br /&gt;&amp;#160;&amp;#160; Thursday,     &lt;br /&gt;&amp;#160;&amp;#160; Friday,     &lt;br /&gt;&amp;#160;&amp;#160; Saturday,     &lt;br /&gt;&amp;#160;&amp;#160; Sunday     &lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;enum&lt;/span&gt; MonthsInYear     &lt;br /&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;     &lt;br /&gt;&amp;#160;&amp;#160; January,     &lt;br /&gt;&amp;#160;&amp;#160; February,     &lt;br /&gt;&amp;#160;&amp;#160; March,     &lt;br /&gt;&amp;#160;&amp;#160; April,     &lt;br /&gt;&amp;#160;&amp;#160; May,     &lt;br /&gt;&amp;#160;&amp;#160; June,     &lt;br /&gt;&amp;#160;&amp;#160; July,     &lt;br /&gt;&amp;#160;&amp;#160; August,     &lt;br /&gt;&amp;#160;&amp;#160; September,     &lt;br /&gt;&amp;#160;&amp;#160; October,     &lt;br /&gt;&amp;#160;&amp;#160; November,     &lt;br /&gt;&amp;#160;&amp;#160; December     &lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;DaysOfWeek d = StringToEnum&amp;lt;DaysOfWeek&amp;gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;quot;Monday&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;;     &lt;br /&gt;&lt;span style="color: #007f00; font-style: italic"&gt;//d is now DaysOfWeek.Monday&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;MonthsInYear m = StringToEnum&amp;lt;MonthsInYear&amp;gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;quot;January&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;;     &lt;br /&gt;&lt;span style="color: #007f00; font-style: italic"&gt;//m is now MonthsInYear.January &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #007f00; font-style: italic"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #007f00; font-style: italic"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;  &lt;hr width="100%" /&gt;  &lt;div id="csharp-3"&gt;   &lt;div class="csharp"&gt;DaysOfWeek d = StringToEnum&amp;lt;DaysOfWeek&amp;gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;quot;Katillsday&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;;       &lt;br /&gt;&lt;span style="color: #007f00; font-style: italic"&gt;//throws an ArgumentException&lt;/span&gt;       &lt;br /&gt;&lt;span style="color: #007f00; font-style: italic"&gt;//Requested value &amp;quot;Katillsday&amp;quot; was not found. &lt;/span&gt;&lt;/div&gt; &lt;/div&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;div id="csharp-4"&gt;   &lt;div class="csharp"&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Enum&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;IsDefined&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;DaysOfWeek&lt;span style="color: #000000"&gt;)&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Katillsday&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; StringToEnum&amp;lt;DaysOfWeek&amp;gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;quot;Katillsday&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;;&lt;/div&gt; &lt;/div&gt;  &lt;hr width="100%" /&gt;  &lt;br /&gt;&lt;a title="http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/" href="http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/"&gt;http://blog.paranoidferret.com/index.php/2007/09/17/csharp-snippet-tutorial-how-to-get-an-enum-from-a-string/&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6659738" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author></entry><entry><title>Update browser cache for CSS and JS files for modified files</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/08/14/update-browser-cache-for-css-and-js-files-for-modified-files.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/08/14/update-browser-cache-for-css-and-js-files-for-modified-files.aspx</id><published>2008-08-14T21:50:57Z</published><updated>2008-08-14T21:50:57Z</updated><content type="html">&lt;p&gt;When working with CSS and JS I've noticed that sometimes the browser (ex: Firefox) doesn't download the latest version of the .css or .js files that I'm working on and goes straight to it's cached version.&amp;#160; &lt;/p&gt;  &lt;p&gt;So my solution for this is to add a querystring to the .css or .js url with the last modified datetime stamp in ticks.&amp;#160; The outcome will look something like this:&lt;/p&gt;  &lt;pre&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/test1.css?t=633543081724531250&amp;quot; /&amp;gt;&lt;/pre&gt;

&lt;pre&gt;&amp;lt;script src=&amp;quot;/js/test1.js?t=633537082284531250&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;VB.net&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;'This file list will be used to place all .css or .js files
  &lt;br /&gt;Dim fileList As List(Of String) = New List(Of String) &lt;/p&gt;

&lt;p&gt;'Register CSS and JS with last modified datetime ticks stamp
  &lt;br /&gt;fileList = New List(Of String)

  &lt;br /&gt;fileList.Add(&amp;quot;/css/file1.css&amp;quot;)

  &lt;br /&gt;fileList.Add(&amp;quot;/css/file2.css&amp;quot;)

  &lt;br /&gt;fileList.Add(&amp;quot;/js/file1.js&amp;quot;)

  &lt;br /&gt;fileList.Add(&amp;quot;/js/file2.js&amp;quot;)

  &lt;br /&gt;For Each fileName As String In fileList

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Dim dModified As String = New System.IO.FileInfo(Server.MapPath(fileName)).LastWriteTime.Ticks.ToString()

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Dim fSrc As String = fileName &amp;amp; &amp;quot;?t=&amp;quot; &amp;amp; dModified

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; If fileName.ToLower().Contains(&amp;quot;.css&amp;quot;) Then

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Dim cssLink As HtmlLink = New HtmlLink()

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Attributes.Add(&amp;quot;rel&amp;quot;, &amp;quot;stylesheet&amp;quot;)

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Attributes.Add(&amp;quot;type&amp;quot;, &amp;quot;text/css&amp;quot;)

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Href = fSrc

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Page.Header.Controls.Add(cssLink)

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Dispose()

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ElseIf fileName.ToLower().Contains(&amp;quot;.js&amp;quot;) Then

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Page.ClientScript.RegisterClientScriptInclude(Me.GetType(), fSrc, fSrc)

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End If

  &lt;br /&gt;Next

  &lt;br /&gt;fileList.Clear()&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;C#&lt;/p&gt;

&lt;p&gt;//This file list will be used to place all .css or .js files 
  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; List&amp;lt;string&amp;gt; fileList = new List&amp;lt;string&amp;gt;(); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Register CSS and JS with last modified datetime ticks stamp 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList = new List&amp;lt;string&amp;gt;(); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList.Add(&amp;quot;/css/file1.css&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList.Add(&amp;quot;/css/file2.css&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList.Add(&amp;quot;/js/file1.js&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList.Add(&amp;quot;/js/file2.js&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; foreach (string fileName in fileList) { 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string dModified = new System.IO.FileInfo(Server.MapPath(fileName)).LastWriteTime.Ticks.ToString(); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string fSrc = fileName + &amp;quot;?t=&amp;quot; + dModified; 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (fileName.ToLower().Contains(&amp;quot;.css&amp;quot;)) { 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HtmlLink cssLink = new HtmlLink(); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Attributes.Add(&amp;quot;rel&amp;quot;, &amp;quot;stylesheet&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Attributes.Add(&amp;quot;type&amp;quot;, &amp;quot;text/css&amp;quot;); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Href = fSrc; 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Page.Header.Controls.Add(cssLink); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cssLink.Dispose(); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else if (fileName.ToLower().Contains(&amp;quot;.js&amp;quot;)) { 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Page.ClientScript.RegisterClientScriptInclude(this.GetType(), fSrc, fSrc); 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileList.Clear(); &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6519531" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author></entry><entry><title>DateTime.ToString() Patterns</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/07/28/datetime-tostring-patterns.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/07/28/datetime-tostring-patterns.aspx</id><published>2008-07-28T20:27:52Z</published><updated>2008-07-28T20:27:52Z</updated><content type="html">&lt;p&gt;I've taken this from: &lt;a href="http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm"&gt;http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm&lt;/a&gt;&amp;#160; because I use it so much and would be devastated if it ever went down :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;1&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;2&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;HH:mm Tuesday, 22 August 2006 06:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;3&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;hh:mm tt Tuesday, 22 August 2006 06:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;4&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;H:mm Tuesday, 22 August 2006 6:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;5&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;h:mm tt Tuesday, 22 August 2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;6&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 06:30:07 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;7&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy HH:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 06:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;8&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy hh:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 06:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;9&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy H:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;10&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy h:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;10&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy h:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;10&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy h:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;11&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 06:30:07&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;12&lt;/td&gt;        &lt;td class="TableCell"&gt;MMMM dd&lt;/td&gt;        &lt;td class="TableCell"&gt;August 22 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;13&lt;/td&gt;        &lt;td class="TableCell"&gt;MMMM dd&lt;/td&gt;        &lt;td class="TableCell"&gt;August 22 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;14&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22T06:30:07.7199222-04:00 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;15&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22T06:30:07.7199222-04:00 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;16&lt;/td&gt;        &lt;td class="TableCell"&gt;ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt;        &lt;td class="TableCell"&gt;Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;17&lt;/td&gt;        &lt;td class="TableCell"&gt;ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt;        &lt;td class="TableCell"&gt;Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;18&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd'T'HH':'mm':'ss&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22T06:30:07 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;19&lt;/td&gt;        &lt;td class="TableCell"&gt;HH:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;06:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;20&lt;/td&gt;        &lt;td class="TableCell"&gt;hh:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;06:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;21&lt;/td&gt;        &lt;td class="TableCell"&gt;H:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;6:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;22&lt;/td&gt;        &lt;td class="TableCell"&gt;h:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;6:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;23&lt;/td&gt;        &lt;td class="TableCell"&gt;HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;06:30:07 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;24&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22 06:30:07Z &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;25&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 06:30:07 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;26&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy MMMM&lt;/td&gt;        &lt;td class="TableCell"&gt;2006 August &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;27&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy MMMM&lt;/td&gt;        &lt;td class="TableCell"&gt;2006 August &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'd' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'D' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'f' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy HH:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 06:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;1&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy hh:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;tt Tuesday, 22 August 2006 06:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;2&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy H:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 6:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;3&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy h:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;tt Tuesday, 22 August 2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'F' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 06:30:07 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'g' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy HH:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 06:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;1&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy hh:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;tt 08/22/2006 06:30 AM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;2&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy H:mm&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td class="TableCell"&gt;3&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy h:mm tt&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 6:30 AM &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'G' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;MM/dd/yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;08/22/2006 06:30:07 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'm' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;MMMM dd&lt;/td&gt;        &lt;td class="TableCell"&gt;August 22 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'r' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt;        &lt;td class="TableCell"&gt;Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 's' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd'T'HH':'mm':'ss&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22T06:30:07 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'u' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;/td&gt;        &lt;td class="TableCell"&gt;2006-08-22 06:30:07Z &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'U' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt;        &lt;td class="TableCell"&gt;Tuesday, 22 August 2006 06:30:07 &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;The patterns for DateTime.ToString ( 'y' ) : &lt;/h2&gt;  &lt;table class="TableClass" cellspacing="1" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="TableCell"&gt;0&lt;/td&gt;        &lt;td class="TableCell"&gt;yyyy MMMM 2006 August &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;&lt;strong&gt;: Paul Hayman&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Published: Tuesday, 22 August, 2006&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6454824" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author></entry><entry><title>Cool Javascript Tools for the Web</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/02/12/cool-javascript-tools.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/02/12/cool-javascript-tools.aspx</id><published>2008-02-12T21:06:00Z</published><updated>2008-02-12T21:06:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;The AJAX control toolkit is great, but it's always better to have more tools and controls.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I found a&amp;nbsp;few great sites that have really nice demos and open source javascript code to make your site look cool.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 241px; HEIGHT: 66px" height=100 src="http://miniajax.com/uu_files/greybox.gif" width=325 mce_src="http://miniajax.com/uu_files/greybox.gif"&gt;&lt;A href="http://orangoo.com/labs/GreyBox/"&gt;http://orangoo.com/labs/GreyBox/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG height=60 src="http://miniajax.com/uu_files/refl.gif" width=248 mce_src="http://miniajax.com/uu_files/refl.gif"&gt;&lt;A href="http://cow.neondragon.net/stuff/reflection/"&gt;http://cow.neondragon.net/stuff/reflection/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 256px; HEIGHT: 63px" height=100 src="http://miniajax.com/uu_files/tips.gif" width=325 mce_src="http://miniajax.com/uu_files/tips.gif"&gt;&lt;A href="http://web-graphics.com/mtarchive/001717.php"&gt;http://web-graphics.com/mtarchive/001717.php&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG height=75 src="http://miniajax.com/uu_files/chat.gif" width=257 mce_src="http://miniajax.com/uu_files/chat.gif"&gt;&lt;A href="http://www.ajaxim.com/"&gt;http://www.ajaxim.com/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG height=52 src="http://www.mochikit.com/include/_img/img_logo_01.gif" width=140 mce_src="http://www.mochikit.com/include/_img/img_logo_01.gif"&gt;&lt;A href="http://www.mochikit.com/"&gt;http://www.mochikit.com/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Update: To make the Reflector work in IE, you need to add this tag:&lt;/P&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;script&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="text/javascript"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;reflection.style.filter = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;+(options[&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;'opacity'&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;]*100)+&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;+(options[&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;'height'&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;]*100)+&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;')'&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;script&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5771085" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author><category term="AJAX" scheme="http://weblogs.asp.net/kiyoshi/archive/tags/AJAX/default.aspx" /></entry><entry><title>Call Javascript Function on Postback</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/02/05/call-javascript-function-on-postback.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/02/05/call-javascript-function-on-postback.aspx</id><published>2008-02-06T02:55:00Z</published><updated>2008-02-06T02:55:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I ran into this problem when I had to call a javascript on page load after my server-side code threw an exception to the user.&lt;/P&gt;
&lt;P mce_keep="true"&gt;If you want to call a javascript function on page postback, you'll need to add an EventListner to the current document.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;script language="JavaScript" type="text/javascript"&amp;gt;&lt;/P&gt;
&lt;P&gt;function doSomething(){.... }&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;if (window.addEventListener) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.addEventListener("load", doSomething, false); &lt;BR&gt;else if (window.attachEvent) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.attachEvent("onload", doSomething); &lt;BR&gt;else if (document.getElementById) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.onload= doSomething;&lt;/P&gt;
&lt;P&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5719248" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/kiyoshi/archive/tags/ASP.NET/default.aspx" /></entry><entry><title>Hello Community</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kiyoshi/archive/2008/01/30/hello-community.aspx" /><id>http://weblogs.asp.net/kiyoshi/archive/2008/01/30/hello-community.aspx</id><published>2008-01-31T01:56:02Z</published><updated>2008-01-31T01:56:02Z</updated><content type="html">&lt;p mce_keep="true"&gt;Hi everyone!&amp;#160; Big thanks to Joe and my friend &lt;a class="" href="http://weblogs.asp.net/aaronschnieder/" target="_blank" mce_href="http://weblogs.asp.net/aaronschnieder/"&gt;Aaron&lt;/a&gt; for opening me up to a community that's actually worth being in.&amp;#160; All of this Web2.0 technology is pretty interesting.&amp;#160; Also big thanks to Telligent for making this magnificent Community Server software.&lt;/p&gt;  &lt;p mce_keep="true"&gt;My name is Kiyoshi Kusachi and I am currently a Senior Application Developer for an Airline Company, which is located on the beautiful island of Oahu in Hawaii.&amp;#160; My main role is to develop web/intranet applications for the business along with helping them evaluate technology and improving processes. I also code on my free-time when I'm not at the company and feel that there's never enough time in each day.&lt;/p&gt;  &lt;p mce_keep="true"&gt;I have decided to &amp;quot;blog&amp;quot; in this community because I think posting/sharing interesting findings is a much better approach than just emailing myself URLs (which I have been doing for a while).&amp;#160; By the way, I am a big fan of ASP.NET/Visual Studio/getting things done so I feel I will fit right in.&lt;/p&gt;  &lt;p mce_keep="true"&gt;Just a precaution, my postings won't always be the &amp;quot;latest and greatest&amp;quot;, but if I could reach out to just one person then it would all be worthwhile :).&lt;/p&gt;  &lt;p mce_keep="true"&gt;-Kiyoshi&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5678957" width="1" height="1"&gt;</content><author><name>Kiyoshi</name><uri>http://weblogs.asp.net/members/Kiyoshi.aspx</uri></author><category term="Community News" scheme="http://weblogs.asp.net/kiyoshi/archive/tags/Community+News/default.aspx" /></entry></feed>