<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6684829057415468524</id><updated>2011-12-01T11:49:27.737-08:00</updated><category term='design'/><category term='GridView RowDataBind'/><category term='MySQL'/><category term='Cache'/><category term='Best Practices'/><category term='Validation'/><category term='GridView'/><title type='text'>DotNet and AJAX</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-6155163406809620994</id><published>2011-12-01T11:49:00.000-08:00</published><updated>2011-12-01T11:49:27.745-08:00</updated><title type='text'>Disable AutoComplete Feature in ASP.NET controls</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;a) There is an AutoCompleteType in TextBox Property and it will not disable in FireFox&lt;br /&gt;&lt;br /&gt;b) in the TextBox set autocomplete="off"&lt;br /&gt;&lt;asp:textbox autocomplete="off" id="txtDate" runat="server"&gt;&lt;/asp:textbox&gt;&lt;br /&gt;Works both in IE and FireFox&lt;br /&gt;&lt;br /&gt;c) the same above, but add as attribute in code behind&lt;br /&gt;txtDate.Attributes.Add("autocomplete", "off");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-6155163406809620994?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/6155163406809620994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=6155163406809620994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6155163406809620994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6155163406809620994'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/12/disable-autocomplete-feature-in-aspnet.html' title='Disable AutoComplete Feature in ASP.NET controls'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-4960783754897489283</id><published>2011-10-11T08:27:00.000-07:00</published><updated>2011-10-11T08:27:53.295-07:00</updated><title type='text'>Show Friendly Dates in Pages</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Mostly when displaying null dates it appears in the screen as 1/1/0001. To avoid that we can create a readonly property for Example JOINDATESTRING where &lt;br /&gt;&lt;br /&gt;public string JoinDateString&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (StartDate == DateTime.MinValue)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return String.Empty();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; else&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; return StartDate.ToString("dd/MM/yyyy");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-4960783754897489283?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/4960783754897489283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=4960783754897489283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4960783754897489283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4960783754897489283'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/10/show-friendly-dates-in-pages.html' title='Show Friendly Dates in Pages'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-9090558948531097934</id><published>2011-09-14T10:06:00.000-07:00</published><updated>2011-09-14T10:06:03.202-07:00</updated><title type='text'>Maintain Scroll Position After Postbacks</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;1- In Web.config, in&amp;nbsp; page section&lt;span style="font-size: xx-small;"&gt;&amp;nbsp; &lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;declare &amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #a31515; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;pages&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: red; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;maintainScrollPositionOnPostBack&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;"&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;true&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;"&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt; /&amp;gt;, which maintains scroll position for all pages in the site.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2- To set for an individual page, in the page declaration&amp;nbsp; &lt;span style="font-size: xx-small;"&gt;&lt;span lang="EN-GB" style="background: yellow; color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;&amp;lt;%&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;@&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #a31515; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;Page&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: red; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;MaintainScrollPositionOnPostback&lt;/span&gt;&lt;span lang="EN-GB" style="color: blue; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;="true"&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt; &lt;span style="background: yellow;"&gt;%&amp;gt; or in the codebehind&amp;nbsp; set&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;&lt;span style="color: black;"&gt;&lt;a href="http://msdn2.microsoft.com/dfbt9et1.aspx" title="Page Class"&gt;System.Web.UI.Page&lt;/a&gt;.MaintainScrollPositionOnPostBack = &lt;/span&gt;&lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-9090558948531097934?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/9090558948531097934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=9090558948531097934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9090558948531097934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9090558948531097934'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/09/maintain-scroll-position-after.html' title='Maintain Scroll Position After Postbacks'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-7738120470883620418</id><published>2011-09-01T08:14:00.000-07:00</published><updated>2011-09-01T08:14:02.015-07:00</updated><title type='text'>Formatting GridView</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;To Format the values displayed in GridView: &lt;br /&gt;For BOUNDCOLUMN, use the DataFormatString argument&lt;br /&gt;&lt;br /&gt;For TEMPLATECOLUMN, use the second argument of Bind() to format data&lt;br /&gt;Eg:&lt;itemtemplate&gt; &lt;asp:label &amp;nbsp;&amp;nbsp;="" id="lblUnitSellingPrice" runat="server" text="&amp;lt;%# Bind(&amp;quot;UnitSellingPrice&amp;quot;,&amp;quot;{0:$#,##0.00;($#,##0.00);0}&amp;quot;) %&amp;gt;"&gt;&lt;/asp:label&gt;&lt;/itemtemplate&gt;&lt;br /&gt;&lt;br /&gt;See complete list of formatting:&lt;br /&gt;Source :http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Format character &lt;br /&gt;&lt;/th&gt;       &lt;th&gt;         Description &lt;br /&gt;&lt;/th&gt;       &lt;th&gt;         Example&lt;br /&gt;&lt;/th&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;C&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;c&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in currency format. You can specify the number of decimal places.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:C}&lt;/span&gt;&lt;br /&gt;123.456 -&amp;gt; $123.46&lt;br /&gt;Format: &lt;span class="code"&gt;{0:C3}&lt;/span&gt;&lt;br /&gt;123.456  -&amp;gt; $123.456&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;D&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;d&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays integer values in decimal format. You can specify  the number of digits. (Although the type is referred to as "decimal",  the numbers are formatted as integers.)&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:D}&lt;/span&gt;&lt;br /&gt;1234 -&amp;gt; 1234&lt;br /&gt;Format: &lt;span class="code"&gt;{0:D6}&lt;/span&gt;&lt;br /&gt;1234  -&amp;gt; 001234&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;E&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;e&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in scientific (exponential) format. You can specify the number of decimal places.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:E}&lt;/span&gt;&lt;br /&gt;1052.0329112756 -&amp;gt; 1.052033E+003&lt;br /&gt;Format: &lt;span class="code"&gt;{0:E2}&lt;/span&gt;&lt;br /&gt;-1052.0329112756 -&amp;gt; -1.05e+003&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;F&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;f&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in fixed format. You can specify the number of decimal places.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:F}&lt;/span&gt;&lt;br /&gt;1234.567 -&amp;gt; 1234.57&lt;br /&gt;Format: &lt;span class="code"&gt;{0:F3}&lt;/span&gt;&lt;br /&gt;1234.567 -&amp;gt; 1234.567&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;G&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in general format (the most compact  of either fixed-point or scientific notation). You can specify the  number of significant digits.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:G}&lt;/span&gt;&lt;br /&gt;-123.456 -&amp;gt; -123.456&lt;br /&gt;Format: &lt;span class="code"&gt;{0:G2}&lt;/span&gt;&lt;br /&gt;-123.456 -&amp;gt; -120&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;N&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in number format (including group  separators and optional negative sign). You can specify the number of  decimal places.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:N}&lt;/span&gt;&lt;br /&gt;1234.567 -&amp;gt; 1,234.57&lt;br /&gt;Format: &lt;span class="code"&gt;{0:N4}&lt;/span&gt;&lt;br /&gt;1234.567 -&amp;gt; 1,234.5670&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;P&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays numeric values in percent format. You can specify the number of decimal places.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:P}&lt;/span&gt;&lt;br /&gt;1 -&amp;gt; 100.00%&lt;br /&gt;Format: &lt;span class="code"&gt;{0:P1}&lt;/span&gt;&lt;br /&gt;.5 -&amp;gt; 50.0%&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;R&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays &lt;span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.single.aspx"&gt;Single&lt;/a&gt;&lt;/span&gt;, &lt;span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.double.aspx"&gt;Double&lt;/a&gt;&lt;/span&gt;, or &lt;span&gt;&lt;span class="input"&gt;BigInteger&lt;/span&gt;&lt;/span&gt; values in round-trip format.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:R}&lt;/span&gt;&lt;br /&gt;123456789.12345678 -&amp;gt; 123456789.12345678&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;X&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;x&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Displays integer values in hexadecimal format. You can specify the number of digits. &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:X}&lt;/span&gt;&lt;br /&gt;255 -&amp;gt; FF&lt;br /&gt;Format: &lt;span class="code"&gt;{0:x4}&lt;/span&gt;&lt;br /&gt;255  -&amp;gt; 00ff&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;           &lt;span&gt;             &lt;span class="input"&gt;d&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Short date pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:d}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 6/15/2009&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;D&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Long date pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:D}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt;Monday, June 15, 2009&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;f&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Full date/time pattern (short time).&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:f}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; Monday, June 15, 2009 1:45 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;F&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Full date/time pattern (long time).&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:F}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; Monday, June 15, 2009 1:45:30 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;g&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         General date/time pattern (short time).&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:g}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 6/15/2009 1:45 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;G&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         General date/time pattern (long time).&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:G}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 6/15/2009 1:45:30 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;M&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;m&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Month/day pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:M}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; June 15&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;O&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Round-trip date/time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:o}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 2009-06-15T13:45:30.0900000&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;R&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;r&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         RFC1123 pattern (for information, see &lt;span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.rfc1123pattern.aspx"&gt;DateTimeFormatInfo&lt;span&gt;.&lt;/span&gt;RFC1123Pattern&lt;/a&gt;&lt;/span&gt;). &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:R}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; Mon, 15 Jun 2009 20:45:30 GMT&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;s&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Sortable date/time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:s}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 2009-06-15T13:45:30&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;t &lt;/span&gt;           &lt;/span&gt;         &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Short time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:t}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 1:45 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;T&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Long time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:T}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 1:45:30 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;u&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Universal sortable date/time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:u}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; 2009-06-15 20:45:30Z&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;U&lt;/span&gt;           &lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Universal full date/time pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:U}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; Monday, June 15, 2009 8:45:30 PM&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;                    &lt;span&gt;             &lt;span class="input"&gt;Y&lt;/span&gt;           &lt;/span&gt; or &lt;span&gt;&lt;span class="input"&gt;y&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Year month pattern.&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;         Format: &lt;span class="code"&gt;{0:Y}&lt;/span&gt;&lt;br /&gt;6/15/2009 1:45:30 PM -&amp;gt; June, 2009&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-7738120470883620418?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/7738120470883620418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=7738120470883620418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/7738120470883620418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/7738120470883620418'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/09/formatting-gridview.html' title='Formatting GridView'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5840711208982990479</id><published>2011-08-10T08:28:00.000-07:00</published><updated>2011-08-10T08:28:46.079-07:00</updated><title type='text'>How to get Hidden Value in GridView</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Once a column's Visible property is set to Hidden, no longer can we access it, since it returns blank.&lt;br /&gt;&lt;br /&gt;To overcome that we can do 4 things&lt;br /&gt;1) Use DATAKEY property and to hidden column ID.&lt;br /&gt;&lt;span style="color: blue; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman';"&gt;GridView.DataKeys[0].Value.ToString();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue; font-family: 'Verdana','sans-serif'; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;br /&gt;2) Use TEMPLATE COLUMN and make it visible and access the values using FindControl.&lt;br /&gt;&lt;span style="color: blue; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman';"&gt;Label lblID = (Label) GridView.Rows[0].FindControl("lblMyId");&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;3) Using a sylesheet ,set the property display=none, and can get the values.&lt;br /&gt;&lt;span style="color: blue; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman';"&gt;GridView.Rows[0].Cell[0].Text&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;4) After databinding, set the visible property of the column.&lt;br /&gt;&lt;span style="color: blue; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; GridView.Columns[0].Visible = false;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.dotnetspark.com/kb/1937-how-to-get-hidden-column-value-gridview.aspx&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5840711208982990479?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5840711208982990479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5840711208982990479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5840711208982990479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5840711208982990479'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/08/how-to-get-hidden-value-in-gridview.html' title='How to get Hidden Value in GridView'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-262875943904313668</id><published>2011-08-03T07:10:00.000-07:00</published><updated>2011-08-03T07:10:51.790-07:00</updated><title type='text'>Pages Not Displaying CSS/Themes</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If we enable authentication in web.config, the master page will not display the CSS styles. The reason, one must login to access all folders and files (including styles and pictures).&lt;br /&gt;&lt;br /&gt;To overcome this issue, give permission to the folder containing CSS and pictures in the WEB.CONFIG in the location path and authorization in system.web.&lt;br /&gt;&lt;br /&gt;&lt;location path="Login.aspx"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;system.web&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;authorization&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;allow &amp;nbsp;="" users="*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/allow&gt;&lt;/authorization&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/system.web&gt;&lt;br /&gt;&amp;nbsp; &lt;/location&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;location path="css"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;system.web&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;authorization&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;allow &amp;nbsp;="" users="*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/allow&gt;&lt;/authorization&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/system.web&gt;&lt;br /&gt;&amp;nbsp; &lt;/location&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-262875943904313668?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/262875943904313668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=262875943904313668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/262875943904313668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/262875943904313668'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/08/pages-not-displaying-cssthemes.html' title='Pages Not Displaying CSS/Themes'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-4811739004478329196</id><published>2011-07-27T08:52:00.000-07:00</published><updated>2011-07-27T08:52:56.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GridView RowDataBind'/><title type='text'>GridView RowDataBound or RowCommand</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The best place to check or bind controls can be done in RowDataBind Event of GridView.&lt;br /&gt;&lt;br /&gt;It can also be done in RowCommand event handler, but during postback there are chances data be lost. I was attaching javascript to a button with another value collected from a databound control, and during postback the data collected and passed to javascript was lost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-4811739004478329196?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/4811739004478329196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=4811739004478329196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4811739004478329196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4811739004478329196'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/gridview-rowdatabound-or-rowcommand.html' title='GridView RowDataBound or RowCommand'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5821587373608289383</id><published>2011-07-21T07:27:00.000-07:00</published><updated>2011-07-21T07:27:10.893-07:00</updated><title type='text'>Error annot convert method group 'Identifier' to non-delegate type 'type'. Did you intend to invoke the method?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This Error occurs when we call a method without parenthesis!!! Like a property&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5821587373608289383?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5821587373608289383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5821587373608289383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5821587373608289383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5821587373608289383'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/error-annot-convert-method-group.html' title='Error annot convert method group &apos;Identifier&apos; to non-delegate type &apos;type&apos;. Did you intend to invoke the method?'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-4026397540247164720</id><published>2011-07-19T05:27:00.000-07:00</published><updated>2011-07-19T05:27:48.168-07:00</updated><title type='text'>Configuring Visual Source Safe in Visual Studio IDE</title><content type='html'>In the Tools -&gt; Options -&gt; Source Control, we should be able to select the Source Control here "Microsoft Visual SourceSafe" or any other provider.&lt;br /&gt;&lt;br /&gt;Sometimes the in “Current source control plug-in:”, the only choice available may be “none”. In that case we must manually register the dll.&lt;br /&gt;&lt;br /&gt;a) In that case close all Visual Studio instances.&lt;br /&gt;&lt;br /&gt;b) Browse to your VSS6\win32 directory and run:&lt;br /&gt;“regsvr32 ssscc.dll”&lt;br /&gt;&lt;br /&gt;This would register the library and make VSS 6.0 available in the Visual Studio IDE, when we reopen it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-4026397540247164720?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/4026397540247164720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=4026397540247164720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4026397540247164720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4026397540247164720'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/configuring-visual-source-safe-in.html' title='Configuring Visual Source Safe in Visual Studio IDE'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-1915333326591572363</id><published>2011-07-11T12:46:00.000-07:00</published><updated>2011-07-11T12:46:58.305-07:00</updated><title type='text'>Using Windows User Role with Active Directory</title><content type='html'>To use Active Directory permissions in a ASP.NET web application,&lt;br /&gt;&lt;br /&gt;1) In WEB.CONFIG, enable windows authentication&lt;br /&gt; &amp;lt; authentication mode="Windows" / &amp;gt&lt;br /&gt;&lt;br /&gt;2) In IIS, enable Windows Authentication and disable Anonymous authentication&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-1915333326591572363?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/1915333326591572363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=1915333326591572363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/1915333326591572363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/1915333326591572363'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/using-windows-user-role-with-active.html' title='Using Windows User Role with Active Directory'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-6994343913439936814</id><published>2011-07-11T05:38:00.000-07:00</published><updated>2011-07-11T05:46:54.162-07:00</updated><title type='text'>Enter Key Default Submit Button</title><content type='html'>If there is only one button in a WEB FORM, pressing&amp;nbsp;ENTER will enable the default submit button.&lt;br /&gt;&lt;br /&gt;If there are more than one buttons in a web form, then we can define the default submit thru &lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;DEFAULTBUTTON&lt;/span&gt; property either in the&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;FORM&lt;/span&gt;&amp;nbsp; or with an &lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;PANEL&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;1&amp;lt;form defaultbutton="btnSubmit" id="form1" runat="server"&lt;br /&gt;&amp;lt;/form &amp;gt;&lt;br /&gt;&lt;br /&gt;2) &amp;lt;panel defaultutton="btnSubmit" id="pnlFirst" runat="server"&amp;gt;&amp;lt;/panel&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-6994343913439936814?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/6994343913439936814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=6994343913439936814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6994343913439936814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6994343913439936814'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/enter-key-default-submit-button.html' title='Enter Key Default Submit Button'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-9016275843729783545</id><published>2011-07-10T11:28:00.000-07:00</published><updated>2011-07-10T11:28:31.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>Connecting MySQL Database with .NET Applications</title><content type='html'>We can do this many ways, &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) In the MySQL site there is a library to connect to MySQL.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.mysql.com/products/connector/"&gt;http://www.mysql.com/products/connector/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Download and install this library. Infact we need only the MySql.Data.dll added as a reference to the project. Then we can work like rest like the ado.net providers with MySQL Connection, MySQLCommand, MySQLDataAdapter and MySQLDataReader&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Imports MySql.Data.MySqlClient&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Public Sub LoadMySQLDB()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Dim myConnection As MySqlConnection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Dim myDataAdapter As MySqlDataAdapter&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Dim myDataSet As DataSet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Dim strSQL As String&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;myConnection = New MySqlConnection("server=localhost; user id=user1; password=password; database=mydatabase; pooling=false;")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;strSQL = "SELECT * FROM mytable;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;myDataSet = New DataSet()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;myDataAdapter.Fill(myDataSet, "mytable")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MySQLDataGrid.DataSource = myDataSet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MySQLDataGrid.DataBind()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;2) Using OLEDB we can connect to MySQL&lt;br /&gt;3) Using ODBC also we can connect to MySQL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-9016275843729783545?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/9016275843729783545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=9016275843729783545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9016275843729783545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9016275843729783545'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/connecting-mysql-database-with-net.html' title='Connecting MySQL Database with .NET Applications'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5979713963875353999</id><published>2011-07-08T12:02:00.000-07:00</published><updated>2011-07-08T12:02:53.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><title type='text'>In GridViewDelete Event KEY values are empty</title><content type='html'>In the DELETEROWEVENT, the values returned is empty, it appears that e.Keys and e.Values are only populated if gridview.IsBoundUsingDataSourceID.&lt;br /&gt;&lt;br /&gt;A possible resolution&lt;br /&gt;&lt;pre class="default prettyprint"&gt;&lt;code&gt;&lt;span class="kwd"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="default prettyprint"&gt;&lt;code&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; groupId &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="typ"&gt;GridView1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;DataKeys&lt;/span&gt;&lt;span class="pun"&gt;[&lt;/span&gt;&lt;span class="pln"&gt;e&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;RowIndex&lt;/span&gt;&lt;span class="pun"&gt;].&lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="default prettyprint"&gt;&lt;code&gt;&lt;span class="pun"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5979713963875353999?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5979713963875353999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5979713963875353999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5979713963875353999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5979713963875353999'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2011/07/in-gridviewdelete-event-key-values-are.html' title='In GridViewDelete Event KEY values are empty'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5964146932386152288</id><published>2010-12-27T06:54:00.000-08:00</published><updated>2010-12-27T06:54:26.664-08:00</updated><title type='text'>Building Large-Scale jQuery Applications</title><content type='html'>&lt;a href="http://addyosmani.com/blog/large-scale-jquery/"&gt;Today we’re going to look at the end-to-end tools and options you have for building large-scale enterprise jQuery applications. Although jQuery is an excellent JavaScript library and provides a well-designed set of tools for development, it’s focus on staying compact and making the DOM easy to use has meant that it doesn’t provide a significant infrastructure for building large-scale apps.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5964146932386152288?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5964146932386152288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5964146932386152288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5964146932386152288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5964146932386152288'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/12/building-large-scale-jquery.html' title='Building Large-Scale jQuery Applications'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-2961686420358658629</id><published>2010-11-12T06:42:00.000-08:00</published><updated>2010-11-12T06:42:03.348-08:00</updated><title type='text'>17 Useful Htaccess Tricks and Tips</title><content type='html'>&lt;a href="http://www.blogger.com/goog_995504474"&gt;17 Useful Htaccess Tricks and Tips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_995504474"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.queness.com/post/5421/17-useful-htaccess-tricks-and-tips"&gt;I have collected 17 htaccess methods in this article which I have used or tested it before, and I think some of them are essential tricks and tips to protect your webserver against malicious attacks and other would able to perform simple tasks efficiently such as redirection and web server optimization. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.queness.com/post/5421/17-useful-htaccess-tricks-and-tips"&gt;Read it full here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-2961686420358658629?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/2961686420358658629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=2961686420358658629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/2961686420358658629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/2961686420358658629'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/11/17-useful-htaccess-tricks-and-tips.html' title='17 Useful Htaccess Tricks and Tips'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5272854888351263606</id><published>2010-10-21T18:20:00.000-07:00</published><updated>2010-10-21T18:24:05.159-07:00</updated><title type='text'>SQL Server: How to insert million numbers to table fast?</title><content type='html'>SQL Server: How to insert million numbers to table fast?&lt;br /&gt;The problem is: how to get one million numbers to table with less time? We can solve this problem using different approaches but not all of them are quick. Let’s go now step by step and see how different approaches perform.&lt;br /&gt;&lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2010/10/21/sql-server-how-to-insert-million-numbers-to-table-fast.aspx"&gt;Read the full article here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5272854888351263606?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5272854888351263606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5272854888351263606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5272854888351263606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5272854888351263606'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/10/sql-server-how-to-insert-million.html' title='SQL Server: How to insert million numbers to table fast?'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-4099945309112991635</id><published>2010-10-19T11:45:00.000-07:00</published><updated>2010-10-19T11:54:49.173-07:00</updated><title type='text'>Common Security Mistakes in Web Applications</title><content type='html'>Common Security Mistakes in Web Applications&lt;br /&gt;&lt;strong&gt;1. Cross-site scripting (XSS)&lt;/strong&gt;&lt;br /&gt;Cross-site scripting is an attack in which a user is tricked into executing code from an attacker’s site (say evil.com) in the context of our website (let’s call it www.mybiz.com).&lt;br /&gt;&lt;strong&gt;2. Cross-site request forgery (CSRF)&lt;/strong&gt;&lt;br /&gt; CSRF (sometimes abbreviated as XSRF) is an attack where a malicious site tricks our visitors into carrying out an action on our site.&lt;br /&gt;3. Click-jacking&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. SQL injection&lt;/strong&gt;&lt;br /&gt;In this kind of an attack, the attacker exploits insufficient input validation to gain shell access on your database server&lt;br /&gt;&lt;strong&gt;5. Shell injection&lt;/strong&gt;&lt;br /&gt;Similar to SQL injection, the attacker tries to craft an input string to gain shell access to your web server. Once they have shell access, they could potentially do a lot more. Depending on access privileges, they could add JavaScript to your HTML pages, or gain access to other internal systems on your network&lt;br /&gt;&lt;strong&gt;6. Phishing&lt;/strong&gt;&lt;br /&gt;Phishing is the process where an attacker tricks your users into handing over their login credentials. The attacker may create a page that looks exactly like your login page, and ask the user to log in there by sending them a link via e-mail, IM, Facebook, or something similar.&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2010/10/18/common-security-mistakes-in-web-applications/"&gt;Click here to read the whole article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Open Web Application Security Project (OWASP) is a 501c3 not-for-profit worldwide charitable organization focused on improving the security of application software. &lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.owasp.org/index.php/Main_Page"&gt;http://www.owasp.org/index.php/Main_Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-4099945309112991635?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/4099945309112991635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=4099945309112991635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4099945309112991635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4099945309112991635'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/10/common-security-mistakes-in-web.html' title='Common Security Mistakes in Web Applications'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-3070817076942528932</id><published>2010-10-05T06:36:00.000-07:00</published><updated>2010-10-05T06:40:17.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Importance of Validations in Each Layer</title><content type='html'>This is defense in depth. Consider &lt;u&gt;UI input validation the otter most wall&lt;/u&gt;. In many ways this is a convenience for the users who are using your application as intended. &lt;u&gt;Validations in the business layer are another wall&lt;/u&gt;. &lt;u&gt;Validations in the data access layer are another wall&lt;/u&gt;. &lt;u&gt;Validations in the database schema are a final wall&lt;/u&gt;. Each wall is important, and each wall should not negate the need to do validations on the next.&lt;br /&gt;&lt;u&gt;Logging failed input validations becomes a critical part of intrusion detection&lt;/u&gt;. Seeing that someone attempted a SQL injection attack gives you advance warning that someone is probing your system for vulnerabilities. Logging such details and keeping track of these logs may reassure you that your validations are working. It may also give you an indication of where future attacks may originate from. Every piece of information can be helpful.&lt;br /&gt;&lt;a href="http://geekswithblogs.net/nharrison/archive/2010/10/04/defense-in-depth-a-developers-perspective.aspx"&gt;Read Full Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-3070817076942528932?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/3070817076942528932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=3070817076942528932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3070817076942528932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3070817076942528932'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/10/importance-of-validations-in-each-layer.html' title='Importance of Validations in Each Layer'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-6083521581079927116</id><published>2010-10-04T06:19:00.000-07:00</published><updated>2010-10-05T06:41:38.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cache'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Ten caching mistakes that break your app</title><content type='html'>Ten caching mistakes that break your app&lt;br /&gt;By Omar Al Zabir 3 Oct 2010&lt;br /&gt;Here are the top 10 mistakes I have seen:&lt;br /&gt;&lt;br /&gt;1.Relying on .NET’s default serializer.&lt;br /&gt;2.Storing large objects in a single cache item.&lt;br /&gt;3.Using cache to share objects between threads.&lt;br /&gt;4.Assuming items will be in cache immediately after storing it.&lt;br /&gt;5.Storing entire collection with nested objects.&lt;br /&gt;6.Storing parent-child objects together and also separately.&lt;br /&gt;7.Caching Configuration settings.&lt;br /&gt;8.Caching Live Objects that has open handle to stream, file, registry, or network.&lt;br /&gt;9.Storing same item using multiple keys.&lt;br /&gt;10.Not updating or deleting items in cache after updating or deleting them on persistent storage.&lt;br /&gt;Let’s see what they are and how to avoid them.&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/web-cache/cachingmistakes.aspx"&gt;Keep Reading&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-6083521581079927116?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/6083521581079927116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=6083521581079927116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6083521581079927116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/6083521581079927116'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/10/ten-caching-mistakes-that-break-your.html' title='Ten caching mistakes that break your app'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-7324704162292206822</id><published>2010-09-27T06:46:00.000-07:00</published><updated>2010-10-05T06:43:14.166-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'></title><content type='html'>Best Practices for ASP.NET MVC&lt;br /&gt;Rate This&lt;br /&gt;ASPNETUE 17 Sep 2010 4:14 PM&lt;br /&gt;[This post is based on a document authored by Ben Grover (a senior developer at Microsoft). It is our intention to integrate this information into the MVC 3 documentation on MSDN. We hope to hear from you and welcome any suggestions you might have.]&lt;br /&gt;&lt;br /&gt;This document presents a set of coding guidelines aimed at helping the ASP.NET MVC developer create solid applications. Of course, it's up to you as the developer to decide which of these guidelines are appropriate for your application.&lt;br /&gt;&lt;br /&gt;Model Recommendations&lt;br /&gt;The model is where the domain-specific objects are defined. These definitions should include business logic (how objects behave and relate), validation logic (what is a valid value for a given object), data logic (how data objects are persisted) and session logic (tracking user state for the application).&lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/aspnetue/archive/2010/09/17/second_2d00_post.aspx"&gt;REad here full article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-7324704162292206822?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/7324704162292206822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=7324704162292206822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/7324704162292206822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/7324704162292206822'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/09/best-practices-for-asp.html' title=''/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-739844208506749546</id><published>2010-09-24T07:02:00.000-07:00</published><updated>2010-09-24T07:05:11.753-07:00</updated><title type='text'>Your Software Can Learn A Lot From ATMs</title><content type='html'>So, what can our software learn from an ATM? Well, let's break down the process:&lt;br /&gt;Perform task.&lt;br /&gt;Verify task.&lt;br /&gt;If verification failed, quit and retry.&lt;br /&gt;&lt;a href="http://www.codethinked.com/post/2010/09/23/Your-Software-Can-Learn-A-Lot-From-ATMs.aspx"&gt;Read the full article here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-739844208506749546?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/739844208506749546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=739844208506749546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/739844208506749546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/739844208506749546'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2010/09/your-software-can-learn-lot-from-atms.html' title='Your Software Can Learn A Lot From ATMs'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5881508850575825949</id><published>2009-01-23T18:10:00.000-08:00</published><updated>2009-01-23T18:12:41.107-08:00</updated><title type='text'>NHibernate learning with Screencasts</title><content type='html'>Stephen Bohlen, an architect with MicroDesk, has created a series of fifteen screencasts on NHibernate. They amount to a complete course designed to take a developer from novice to advanced intermediate skills in NHibernate. I am very impressed with the series, and I recommend it strongly to any one learning NHibernate.&lt;br /&gt;&lt;br /&gt;You can find the screencast series at:&lt;a href="http://www.summerofnhibernate.com/"&gt;http://www.summerofnhibernate.com/&lt;/a&gt;[&lt;a title="New Window" href="http://www.summerofnhibernate.com/" target="_blank"&gt;^&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5881508850575825949?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5881508850575825949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5881508850575825949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5881508850575825949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5881508850575825949'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2009/01/nhibernate-learning-with-screencasts.html' title='NHibernate learning with Screencasts'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-2453530696900949815</id><published>2008-11-27T07:31:00.000-08:00</published><updated>2008-11-27T07:34:39.435-08:00</updated><title type='text'>ASP.NET Cheat Sheet</title><content type='html'>&lt;a href="http://john-sheehan.com/blog/index.php/net-cheat-sheets/"&gt;http://john-sheehan.com/blog/index.php/net-cheat-sheets/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Links for&lt;br /&gt;.NET Format String Quick Reference -Current Version: 1.1&lt;br /&gt;ASP.NET 2.0 Page Life Cycle &amp;amp; Common Events - Current Version: 1.0&lt;br /&gt;Visual Studio 2005 Built-in Code Snippets (C#) - Current Version: 1.0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="ASP.NET Page LifeCycle Cheat Sheet PNG" href="http://blog.krisvandermast.com/content/binary/ASP.NET-2.0-life-cycle.png" target="_blank"&gt;ASP.NET Page Life Cycle Diagram&lt;/a&gt; (PNG)&lt;br /&gt;&lt;a href="http://duartes.org/gustavo/articles/Asp.net-Runtime-Cheat-Sheet-HttpRequest-HttpRuntime.aspx" target="_blank"&gt;ASP.NET Runtime Cheat Sheet&lt;/a&gt; &lt;br /&gt;&lt;a href="http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET35_Namespaces_Poster_LORES.pdf" target="_blank"&gt;Microsoft .NET Framework 3.5 Commonly Uses Types and Namespaces&lt;/a&gt; (PDF)&lt;br /&gt;Visual Studio 2005 Default Keybindings &lt;a title="Visual Studio 2005 Default Keybindings (C#)" href="http://download.microsoft.com/download/e/7/9/e79cce22-b196-4b9f-9ea7-b1a21f5342e9/VCSharp_2005_color.pdf" target="_blank"&gt;C#&lt;/a&gt;  &lt;a title="Visual Studio 2005 Default Keybindings (VB)" href="http://download.microsoft.com/download/d/6/5/d65efda0-cf25-4720-8013-b3080586c5bb/VB_2005_color.pdf" target="_blank"&gt;VB&lt;/a&gt; (PDF)&lt;br /&gt;Visual Studio 2008 Default Keybindings &lt;a title="Visual Studio 2005 Default Keybindings (C#)" href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=1&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3de5f902a8-5bb5-4cc6-907e-472809749973%26DisplayLang%3den" target="_blank"&gt;C#&lt;/a&gt;  &lt;a title="Visual Studio 2005 Default Keybindings (VB)" href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=10&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d255b8cf1-f6bd-4b55-bb42-dd1a69315833%26DisplayLang%3den" target="_blank"&gt;VB&lt;/a&gt;&lt;br /&gt;&lt;a title="Microsoft ASP.NET AJAX Library" href="http://aspnetresources.com/blog/ms_ajax_cheat_sheets_batch2.aspx" target="_blank"&gt;Microsoft ASP.NET AJAX Library&lt;/a&gt;&lt;br /&gt;&lt;a title="Microsoft ASP.NET AJAX Client Life Cycle &amp;amp; Events" href="http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf" target="_blank"&gt;Microsoft ASP.NET AJAX Client Life Cycle &amp;amp; Events&lt;/a&gt; (PDF)&lt;br /&gt;&lt;a title="LINQ Cheat Sheet" href="http://weblogs.asp.net/bradvincent/archive/2008/11/01/linq-cheat-sheet.aspx" target="_blank"&gt;LINQ&lt;/a&gt;&lt;br /&gt;&lt;a title="VB.NET/C# Comparison" href="http://aspalliance.com/625" target="_blank"&gt;VB.NET/C# Comparison&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/sql-server-cheat-sheet/" target="_blank"&gt;SQL Server&lt;/a&gt;&lt;br /&gt;&lt;a title="HTML Character Entities Cheat Sheet" href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/" target="_blank"&gt;HTML Character Entities&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/colour-chart/" target="_blank"&gt;RGB Hex Color Chart&lt;/a&gt;&lt;br /&gt;&lt;a title="CSS Cheat Sheet" href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/" target="_blank"&gt;CSS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gscottolson.com/weblog/2008/01/11/jquery-cheat-sheet/" target="_blank"&gt;jQuery&lt;/a&gt;&lt;br /&gt;&lt;a title="JavaScript Cheat Sheet" href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/" target="_blank"&gt;JavaScript&lt;/a&gt;&lt;br /&gt;&lt;a title="XHTML Cheat Sheet PDF" href="http://www.cdburnerxp.se/htmlcheatsheet.pdf" target="_blank"&gt;XHTML&lt;/a&gt; (PDF)&lt;br /&gt;&lt;a title="Regular Expressions Cheat Sheet" href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/" target="_blank"&gt;Regular Expressions&lt;/a&gt;&lt;br /&gt;&lt;a title="Microformats Cheet Sheat" href="http://www.addedbytes.com/cheat-sheets/microformats-cheat-sheet/" target="_blank"&gt;Microformats&lt;/a&gt;&lt;br /&gt;&lt;a title="ASP/VBScript Cheat Sheet" href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/" target="_blank"&gt;ASP/VBScript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://john-sheehan.com/blog/index.php/net-cheat-sheets/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-2453530696900949815?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/2453530696900949815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=2453530696900949815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/2453530696900949815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/2453530696900949815'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2008/11/aspnet-cheat-sheet.html' title='ASP.NET Cheat Sheet'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-5835454802193644449</id><published>2008-07-15T18:56:00.000-07:00</published><updated>2008-07-15T18:59:08.791-07:00</updated><title type='text'>Ten Stupid Uses of Windows</title><content type='html'>An interesting article on using Windows in critical systems like air traffic control systems,nuclear submarines, etc&lt;br /&gt;&lt;a href="http://www.networkworld.com/community/node/29836"&gt;http://www.networkworld.com/community/node/29836&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-5835454802193644449?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/5835454802193644449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=5835454802193644449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5835454802193644449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/5835454802193644449'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2008/07/ten-stupid-uses-of-windows.html' title='Ten Stupid Uses of Windows'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-8318111705091217959</id><published>2008-07-07T06:01:00.000-07:00</published><updated>2008-07-07T06:03:17.012-07:00</updated><title type='text'>Programmer Competency Matrix</title><content type='html'>An interesting atricle - Programmer Competency Matrix.&lt;br /&gt;&lt;a href="http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm"&gt;http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-8318111705091217959?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/8318111705091217959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=8318111705091217959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/8318111705091217959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/8318111705091217959'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2008/07/programmer-competency-matrix.html' title='Programmer Competency Matrix'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-4946512926747570252</id><published>2007-11-30T09:09:00.000-08:00</published><updated>2007-11-30T09:21:44.069-08:00</updated><title type='text'>Create Membership Database in SQL Server 2005</title><content type='html'>&lt;span style="font-family:courier new;"&gt;aspnet_regsql&lt;/span&gt; utility provided under the framework folder helps to install the SQLServer 2005 membership database to use with ASP.NET.&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;strong&gt;1) Navigate to Frameworkfolder&lt;/strong&gt;&lt;br /&gt;     Framework folder is located under &lt;span style="font-family:courier new;"&gt;%WINDIR%\Microsoft.NET\Framework\v2.0.50727&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2) Run the utility&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;aspnet_regsql.exe&lt;/span&gt;&lt;br /&gt;     A GUI interface "&lt;strong&gt;ASP.NET SQL Server Setup Wizard&lt;/strong&gt;" Opens, and follow the instructions which is quite simple. Asks to remove or setup application services and second step to specify the Server and Database .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-4946512926747570252?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/4946512926747570252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=4946512926747570252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4946512926747570252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/4946512926747570252'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/11/create-membership-database-in-sql.html' title='Create Membership Database in SQL Server 2005'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-8115590990115243480</id><published>2007-10-28T10:51:00.000-07:00</published><updated>2007-10-28T11:22:02.133-07:00</updated><title type='text'>Find Country Based on IP Address</title><content type='html'>I had a requirement to find out Country and set it to a dropdown control. For this I needed  to collect the IP of the user and secondly match the IP collected with a database of IP's.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Collect the IP of the user&lt;/strong&gt;. Two IP's are available - one of the proxy's and other the users machines. We must deciede to collect either the proxy IP address or the the machine ip of the user&lt;br /&gt;To collect the IP Address of the Proxy  we can use &lt;span style="font-family:courier new;"&gt;HttpContext.Current.Request.UserHostAddress&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span &gt;To Collect the IP of the user machine(not the proxy server ip),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.Match the collected IP address to an IP Database&lt;/strong&gt;&lt;br /&gt;As we all know an IP address is in the format xx1.xx2.xx3.xx4.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;a)IP Address Table&lt;/u&gt;&lt;br /&gt;The IP address table is available as free downloads as text or MS Access DB, contains the following fields:&lt;br /&gt;     StartIP,&lt;br /&gt;     EndIP,&lt;br /&gt;     StartIP as a equivalent  number,&lt;br /&gt;     EndIP as an equivalent number,&lt;br /&gt;     CountryCode and&lt;br /&gt;     Country.&lt;br /&gt;If we deciede to keep this table as a table in our database, it needs to be a different table (not to integrate with existing country table), since there are many IP address rows per country.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;b) Convert IP Address to its Equivalent Number&lt;/u&gt;&lt;br /&gt;We have to convert the collected IP to its equivalent number. The following formulae will convert to its equivalent number - &lt;span style="font-family:courier new;"&gt; (xx1*16777216) +(xx2*65536)+(xx3*256) +xx4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;c) Match the equivalent number of converted IP to that of the IP Database&lt;/u&gt;&lt;br /&gt; Match the following formulae to get its equivalent country.&lt;br /&gt;&lt;br /&gt;If  lngConvertedIP between NumberEquivalentOfStartIP and NumberEquivalentOfEndIP, retrieve countryCode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-8115590990115243480?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/8115590990115243480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=8115590990115243480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/8115590990115243480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/8115590990115243480'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/10/find-country-based-on-ip-address.html' title='Find Country Based on IP Address'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-9096314297066162065</id><published>2007-10-24T17:45:00.000-07:00</published><updated>2007-10-24T19:22:19.192-07:00</updated><title type='text'>Custom Format in Datagrid - Multiple Rows and Columns</title><content type='html'>I needed to display data in Datagrid with a custom format - 3 rows X 4 Column instead of the default single row.&lt;br /&gt;&lt;br /&gt;It was done by first adding layouts in a webuser control. Webuser control helps to make maintenance easy, playing in the templates of datagrid. Added the webuser control into the datagrid in a template column. Then bind the data. Let me elaborate it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Add a UserControl and create its layout:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a) Design the layout&lt;/strong&gt; - I made a three row, 3 column table table and placed label control in the cells.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b)Assign Values to the Controls&lt;/strong&gt; - I had used labels to display data and used &lt;span style="font-family:courier new;"&gt;Databinder.Eval&lt;/span&gt; to display it in the Text property&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt; id="lblCountry" runat="server" text="'&lt; %#"&gt;'&gt; &lt; /asp:Label &gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Create DataGrid in the webform and add webusercontrol to the datagrid&lt;/strong&gt;&lt;br /&gt;So the Webusergrid is done, and created a datagrid in the Webform. In the datagrid, created a template column with autogenerate columns as false. The following is the markup&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt; id="dbgSearch" runat="server" autogeneratecolumns="False"&gt;&lt;columns&gt;&lt;br /&gt;&lt;&gt;&lt;&gt;&lt; id="MyProvider1" runat="server"&gt;&lt; /itemtemplate &gt;&lt; /asp:TemplateColumn &gt;&lt; /columns &gt;&lt;br /&gt;&lt; /asp:DataGrid &gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;3. Binding Data to the Datagrid&lt;/strong&gt;&lt;br /&gt;And in the code of webform ( .aspx.vb), done the following code to bind the data&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbgSearch.DataSource = FillCountries&lt;br /&gt;dbgSearch.DataBind()&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6600cc;"&gt;Note: The datafield passed from to the datasource must match the property defined in the webusercontrols property.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-9096314297066162065?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/9096314297066162065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=9096314297066162065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9096314297066162065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/9096314297066162065'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/10/i-needed-to-display-data-in-datagrid.html' title='Custom Format in Datagrid - Multiple Rows and Columns'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-378564425852807619</id><published>2007-10-21T10:52:00.000-07:00</published><updated>2007-10-21T10:56:45.859-07:00</updated><title type='text'>Start and Stop SQLServer 2005 from Command Prompt</title><content type='html'>Why always spend time opening services and from Control Panel to start or stop SQL Server. It can be done thru command prompt&lt;br /&gt;&lt;br /&gt;To Start SQL Server at the command prompt (Start-&gt;Run)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;net start MSSQLSERVER&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span &gt;To Stop SQL Server from the command prompt (Start-&gt;Run)&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;net stop MSSQLSERVER&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-378564425852807619?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/378564425852807619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=378564425852807619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/378564425852807619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/378564425852807619'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/10/start-and-stop-sqlserver-2005-from.html' title='Start and Stop SQLServer 2005 from Command Prompt'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-3745949848532052551</id><published>2007-10-20T18:26:00.000-07:00</published><updated>2007-10-20T18:49:14.823-07:00</updated><title type='text'>Dropdownlist - Binding Values, and setting a Value</title><content type='html'>1. To Bind Data to a DropDownList,&lt;br /&gt;Data can be binded to a dropdownlist from , Arraylist or objectdatasource, and &lt;span style="font-family:courier new;"&gt;DataSource&lt;/span&gt; property can be used.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DropDownList1.Datasource=&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DropDownList1.DataTextField= "UserName"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DropDownList1.DataValueField="UserID"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DropDownList1.DataBind()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. To set values to a dropdown list from code, we have to use SelectedValue property of dropdown control&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Dim strUserName as string ="Bill"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DropDownList1.SelectedValue=&lt;br /&gt;DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue(strUserName))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-3745949848532052551?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/3745949848532052551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=3745949848532052551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3745949848532052551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3745949848532052551'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/10/dropdownlist-binding-values-and-setting.html' title='Dropdownlist - Binding Values, and setting a Value'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6684829057415468524.post-3306222170611254195</id><published>2007-10-20T09:29:00.001-07:00</published><updated>2007-10-20T09:39:42.606-07:00</updated><title type='text'>AJAX Accordian Control - Object reference not set to an instance of an object</title><content type='html'>I was getting the error message for all the Standard Controls available in the Toolbar.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff6666;"&gt;Object reference not set to an instance of an object. &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff6666;"&gt;Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff6666;"&gt;Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I was wondering why and I found a neat and straight workaround in the following link &lt;a href="http://couldbedone.blogspot.com/2007/07/what-wrong-with-accordion-control.html"&gt;http://couldbedone.blogspot.com/2007/07/what-wrong-with-accordion-control.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This workaround worked for me well, by adding&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff6666;"&gt;&lt;strong&gt; Accordion1.FindControl("nothing")&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;in &lt;span style="color:#ff6666;"&gt;&lt;strong&gt;page_init&lt;/strong&gt;&lt;/span&gt; handler &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6684829057415468524-3306222170611254195?l=dotnetandajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetandajax.blogspot.com/feeds/3306222170611254195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6684829057415468524&amp;postID=3306222170611254195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3306222170611254195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6684829057415468524/posts/default/3306222170611254195'/><link rel='alternate' type='text/html' href='http://dotnetandajax.blogspot.com/2007/10/ajax-accordian-control-object-reference.html' title='AJAX Accordian Control - Object reference not set to an instance of an object'/><author><name>Shibu</name><uri>http://www.blogger.com/profile/16366099111187982018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
