<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0MHRH09fCp7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472</id><updated>2012-02-16T02:50:35.364-08:00</updated><category term="Controls" /><category term="Checkbox" /><category term="JQuery" /><category term="MVC" /><category term="Entity Framework" /><title>ASP.NET MVC Resource</title><subtitle type="html">This blog provide MVC code, tips and tricks</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://aspnetmvcresource.blogspot.com/" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AspnetMvcResource" /><feedburner:info uri="aspnetmvcresource" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0EGQXgzfyp7ImA9Wx5XFk4.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-8022638498236673602</id><published>2010-09-16T04:13:00.000-07:00</published><updated>2010-09-16T04:13:40.687-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-16T04:13:40.687-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><title>ASP.NET MVC HandleError Attribute, Custom Error Pages and Logging Exceptions</title><content type="html">I'm sure I don't need to tell you how bad serving a Yellow Screen of Death to your users is. Nonetheless, it seems to be pretty common practice across the web. One of the first things I do when setting up a new ASP.NET project is set up custom error pages and ensure all exceptions are logged (who wants to find out about their errors from their clients?). Since things work slightly differently in ASP.NET MVC I thought I'd dig in and find the best way to do the same thing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The HandleError Attribute&lt;/b&gt;&lt;br /&gt;
The HandleError attribute (which appears on the default controllers in an MVC project) tells the framework that if an unhandled exception occurs in your controller that rather than showing the default Yellow Screen of Death it should instead serve up a view called Error. The controller-specific View folder will be checked first (eg. Views/Home/Error.aspx) and if it's not found, the Shared folder (Views/Home/Error.aspx) will be used.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;But How Do I Log Exceptions?&lt;/b&gt;&lt;br /&gt;
You might've spotted the problem with HandleError. It just outputs a view, and doesn't let you run any code. This might be fine if you don't want users to see errors but don't really care for fixing them. Hopefully you think this isn't acceptable and you want to investigate all exceptions!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The OnException Method&lt;/b&gt;&lt;br /&gt;
The System.Web.Mvc.Controller class contains a method called OnException which is called whenever an exception occuts within an action. This does not rely on the HandleError attribute being set. If you're being a good coder and have your own base Controller class you can override this method in one place to handle/log all errors for your site. You might choose to send emails and/or detect duplicate exceptions and discard them. For now, I'm just going to write them all to a text file in my App_Data folder.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;protected override void OnException(ExceptionContext filterContext) &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;{ &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;WriteLog(Settings.LogErrorFile, filterContext.Exception.ToString()); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;}&lt;/b&gt;&lt;/i&gt; &lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;/// &lt;summary&gt; &lt;br /&gt;
/// Logs a message to the given log file &lt;br /&gt;
/// &lt;/summary&gt;&lt;/b&gt;&lt;/i&gt; &lt;br /&gt;
&lt;i&gt;&lt;b&gt;/// &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;param name="logFile" /&gt;&lt;i&gt;&lt;b&gt;The filename to log to/// &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;param name="text" /&gt;&lt;i&gt;&lt;b&gt;The message to logstatic void WriteLog(string logFile, string text) &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;{ &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;//TODO: Format nicer &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;StringBuilder message = new StringBuilder(); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;message.AppendLine(DateTime.Now.ToString()); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;message.AppendLine(text); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;message.AppendLine("==========================="); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;System.IO.File.AppendAllText(logFile, message.ToString()); &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;}&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This works great, but it still shows our user an unhandled exception message, even if we use the HandleError attribute. This makes the HandleError attribute look rather useless, so I've removed it. We can easily show the friendly error ourselves with the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;filterContext.ExceptionHandled = true; &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;this.View("Error").ExecuteResult(this.ControllerContext);&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
It's important to set ExceptionHandled to true, otherwise you'll still see the default unhandled exception message. The OnException method returns void so we must Execute the view and pass in the ControllerContext ourselves.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How Do I see my own Errors During Development?&lt;/b&gt;&lt;br /&gt;
It's a little inconvenient to open log files or keep commenting out your error handling code while developing to see exceptions and stack traces. You might remember ASP.NET has a nice web.config setting that configures custom errors. This property is exposed via MVC, so we can set up our config to show friendly errors to remote users only:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span class="tag"&gt;&amp;lt;customErrors&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;mode&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"RemoteOnly"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;customerrors mode="RemoteOnly"&gt;Then all we need to do in our OnException method is check this value and serve up the custom error view only if it returns true.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;protected override void OnException(ExceptionContext filterContext) &lt;br /&gt;
{ &lt;br /&gt;
WriteLog(Settings.LogErrorFile, filterContext.Exception.ToString()); &lt;br /&gt;
&lt;br /&gt;
// Output a nice error page &lt;br /&gt;
if (filterContext.HttpContext.IsCustomErrorEnabled) &lt;br /&gt;
{ &lt;br /&gt;
filterContext.ExceptionHandled = true; &lt;br /&gt;
this.View("Error").ExecuteResult(this.ControllerContext); &lt;br /&gt;
} &lt;br /&gt;
}&lt;/b&gt;&lt;/i&gt; &lt;/customerrors&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;customerrors mode="RemoteOnly"&gt;It's worth noting that IsCustomErrorEnabled will resolve the RemoteOnly option for you, you don't need to check where the user is coming from. Now out site serves up friendly errors to users and logs all exceptions without us losing the ability to see stack traces during development.&lt;br /&gt;
&lt;/customerrors&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-8022638498236673602?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gdoOUbnugktF5CHjufJVqwMK7ac/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gdoOUbnugktF5CHjufJVqwMK7ac/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gdoOUbnugktF5CHjufJVqwMK7ac/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gdoOUbnugktF5CHjufJVqwMK7ac/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/xjRTk1iFtnw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/8022638498236673602/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2010/09/aspnet-mvc-handleerror-attribute-custom.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/8022638498236673602?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/8022638498236673602?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/xjRTk1iFtnw/aspnet-mvc-handleerror-attribute-custom.html" title="ASP.NET MVC HandleError Attribute, Custom Error Pages and Logging Exceptions" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2010/09/aspnet-mvc-handleerror-attribute-custom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYESXg7fCp7ImA9WxNVFUo.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-9220409814798128667</id><published>2009-10-26T09:55:00.001-07:00</published><updated>2009-10-26T09:55:08.604-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T09:55:08.604-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><title>ASP.NET MVC Best Practices</title><content type="html">&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Camittal%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Camittal%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Camittal%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-1610611985 1073750091 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	mso-themecolor:hyperlink;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Plain Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.5pt;
	font-family:Consolas;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
span.PlainTextChar
	{mso-style-name:"Plain Text Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Plain Text";
	mso-ansi-font-size:10.5pt;
	mso-bidi-font-size:10.5pt;
	font-family:Consolas;
	mso-ascii-font-family:Consolas;
	mso-hansi-font-family:Consolas;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class="MsoPlainText"&gt;ASP.NET MVC Best Practices&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoPlainText"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoPlainText"&gt;&lt;a href="http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx"&gt;http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoPlainText"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoPlainText"&gt;&lt;a href="http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx"&gt;http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-9220409814798128667?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0bDqLn9jNmfRsLrYixK82CMlyJc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0bDqLn9jNmfRsLrYixK82CMlyJc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0bDqLn9jNmfRsLrYixK82CMlyJc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0bDqLn9jNmfRsLrYixK82CMlyJc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/xKqsCt_0atw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/9220409814798128667/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/10/aspnet-mvc-best-practices.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/9220409814798128667?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/9220409814798128667?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/xKqsCt_0atw/aspnet-mvc-best-practices.html" title="ASP.NET MVC Best Practices" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/10/aspnet-mvc-best-practices.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEFSXY9eyp7ImA9WxNVEk4.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-889140470962490891</id><published>2009-10-22T11:00:00.000-07:00</published><updated>2009-10-22T11:03:38.863-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-22T11:03:38.863-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework" /><title>ASP.NET MVC Example Application over Northwind with the Entity Framework</title><content type="html">&lt;h1 class="entryviewheading"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;ASP.NET MVC Example Application over Northwind with the Entity Framework&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1 class="entryviewheading" style="background-color: #6fa8dc;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx"&gt;http://blogs.msdn.com/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx &lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-889140470962490891?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xbKnIkVCw82lTDMFTB-Owk6DrLc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xbKnIkVCw82lTDMFTB-Owk6DrLc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xbKnIkVCw82lTDMFTB-Owk6DrLc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xbKnIkVCw82lTDMFTB-Owk6DrLc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/jSir9ZRnqsM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/889140470962490891/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/10/aspnet-mvc-example-application-over.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/889140470962490891?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/889140470962490891?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/jSir9ZRnqsM/aspnet-mvc-example-application-over.html" title="ASP.NET MVC Example Application over Northwind with the Entity Framework" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/10/aspnet-mvc-example-application-over.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAHQXY5cCp7ImA9WxNXGU4.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-5968473916397191660</id><published>2009-10-07T08:52:00.000-07:00</published><updated>2009-10-07T08:52:10.828-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T08:52:10.828-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><title>Model View Controller (MVC) Architecture in ASP.NET</title><content type="html">This article will enhance your vision on the usage of Robustness Analysis in conjunction with Model View Controller, using UML with application in ASP.NET. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.codeproject.com/aspnet/ModelViewController.asp" target="_blank"&gt;http://www.codeproject.com/aspnet/ModelViewController.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-5968473916397191660?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9TYYePFt8I4qo0EhHnruO6DCUhI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9TYYePFt8I4qo0EhHnruO6DCUhI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9TYYePFt8I4qo0EhHnruO6DCUhI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9TYYePFt8I4qo0EhHnruO6DCUhI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/soaDAsvZlmU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/5968473916397191660/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/10/model-view-controller-mvc-architecture.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/5968473916397191660?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/5968473916397191660?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/soaDAsvZlmU/model-view-controller-mvc-architecture.html" title="Model View Controller (MVC) Architecture in ASP.NET" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/10/model-view-controller-mvc-architecture.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQMQHY7eyp7ImA9WxNQGE0.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-4708787129528367423</id><published>2009-09-24T06:53:00.000-07:00</published><updated>2009-09-24T06:53:01.803-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-24T06:53:01.803-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="JQuery" /><title>MVC AJAX Form with Ajax.BeginForm() and jQuery Thickbox ...</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;A relatively common scenario you might want in your application is the ability for a user to click a link that pops up a little dialog to submit some information.&amp;nbsp; For example, let’s say you have this form where the user could click the “Contact this person” link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_fboL-XjapQc/Srt5ER2_5rI/AAAAAAAAEZw/LRtcTEY9ebg/s1600-h/1251972898.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_fboL-XjapQc/Srt5ER2_5rI/AAAAAAAAEZw/LRtcTEY9ebg/s400/1251972898.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After clicking this link, it pops up the following dialog where the user can type in their message:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_fboL-XjapQc/Srt5WeQDTNI/AAAAAAAAEZ4/yYftWaW4mXA/s1600-h/1251972935.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_fboL-XjapQc/Srt5WeQDTNI/AAAAAAAAEZ4/yYftWaW4mXA/s400/1251972935.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This scenario can be implemented with MVC with very few lines of code.&amp;nbsp; First off, we’ll be using the AJAX HTML Message pattern so that the AJAX messages that are going across the wire are simple HTML snippets.&amp;nbsp; Also, we’ll use jQuery Thickbox for our dialog. The first thing we need to do it to implement our “Contact this person” link: &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1:&amp;nbsp; &amp;lt;%=Html.ActionLink("Contact this person", "Index", "Contact", new { height = 200, width = 300 }, new { @class = "thickbox" }) %&amp;gt;&lt;br /&gt;
This is a pretty typical implementation of the jQuery thickbox.&amp;nbsp; We’re specifying that we want an AJAX call to be made to our ContactController.Index() method. The HTML that this ActionLink renders will simply look like this:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1:&amp;nbsp; &amp;lt;a class="thickbox" href="/Contact?height=200&amp;amp;amp;width=300"&amp;gt;Contact this person&amp;lt;/a&amp;gt;&lt;br /&gt;
The complete code for the ContractController looks like this:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1:&amp;nbsp; public class ContactController : Controller&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 2:&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ActionResult Index()&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 5:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return View(new ContactMessage());&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 6:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 7:&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ActionName("Index")]&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 9:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AcceptVerbs(HttpVerbs.Post)]&lt;br /&gt;
&amp;nbsp; 10:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ActionResult SubmitMessage(ContactMessage message)&lt;br /&gt;
&amp;nbsp; 11:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp; 12:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.View("Confirmation", message);&lt;br /&gt;
&amp;nbsp; 13:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp; 14:&amp;nbsp; }&lt;br /&gt;
It is important to note that both views returned by the ContactController’s action methods are both partial views (i.e., Index.ascx and Confirmation.ascx) with our HTML snippets in there. We know that in the Index.ascx we want to do an AJAX form submission/post rather than a full page form submission. There are a couple of ways to do this including using the jQuery Form plugin. However, in this case, the MVC framework already comes built-in with this functionality so we don’t have to rely on the jQuery Form plugin (unless we want to). Most of the time we find ourselves using the Html property of the View which is of type HtmlHelper.&amp;nbsp; However, there is also an Ajax property of the view of type AjaxHelper. The AjaxHelper has a BeginForm method that will allow you to submit the form via AJAX. You’ll need to make sure you include the MicrosoftAjax.js and MicrosoftMvcAjax.js scripts in your page to use the Ajax helpers.&amp;nbsp; The complete implementation for the Index.ascx can just look like this:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1:&amp;nbsp; &amp;lt;%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl&amp;lt;MvcAjaxForm.Models.ContactMessage&amp;gt;" %&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 2:&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3:&amp;nbsp; &amp;lt;h2&amp;gt;Contact&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 5:&amp;nbsp; &amp;lt;% using (Ajax.BeginForm("Index", "Contact", new AjaxOptions { UpdateTargetId = "contactArea" } )) { %&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 6:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="contactArea"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 7:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Email Address: &amp;lt;%=Html.TextBox("EmailAddress") %&amp;gt; &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message: &amp;lt;%=Html.TextArea("MessageText")%&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 9:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="submit" /&amp;gt;&lt;br /&gt;
&amp;nbsp; 10:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp; 11:&amp;nbsp; &amp;lt;% } %&amp;gt;&lt;br /&gt;
Notice the UpdateTargetId is specifying the “contactArea” div.&amp;nbsp; This causes all HTML that is sent back on the form post (i.e., the confirmation message) to be displayed inside this div only.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div id="full-story" style="padding: 10px 0pt;"&gt;      &lt;img border="0" src="http://www.ajaxlines.com/ajax/images/story.gif" /&gt;&amp;nbsp;&lt;b&gt;Original Source:&lt;/b&gt;&lt;br /&gt;
&lt;a ca_clicked="1" href="http://geekswithblogs.net/michelotti/archive/2009/08/31/mvc-ajax-form-with-ajax.beginform-and-jquery-thickbox.aspx" target="_blank" title="MVC AJAX Form with Ajax.BeginForm() and jQuery Thickbox"&gt;http://geekswithblogs.net/michelotti/archive/2009/08/31/mvc-ajax-form-with-ajax.beginform-and-jquery-thickbox.aspx&lt;/a&gt;     &lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-4708787129528367423?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TsV_6iTqsjoTKfrRpUxo8hByjCI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TsV_6iTqsjoTKfrRpUxo8hByjCI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TsV_6iTqsjoTKfrRpUxo8hByjCI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TsV_6iTqsjoTKfrRpUxo8hByjCI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/VQSeNTwVBxk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/4708787129528367423/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/09/mvc-ajax-form-with-ajaxbeginform-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/4708787129528367423?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/4708787129528367423?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/VQSeNTwVBxk/mvc-ajax-form-with-ajaxbeginform-and.html" title="MVC AJAX Form with Ajax.BeginForm() and jQuery Thickbox ..." /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fboL-XjapQc/Srt5ER2_5rI/AAAAAAAAEZw/LRtcTEY9ebg/s72-c/1251972898.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/09/mvc-ajax-form-with-ajaxbeginform-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYESX08fCp7ImA9WxNQFkk.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-4369611869405105521</id><published>2009-09-22T12:18:00.001-07:00</published><updated>2009-09-22T12:18:28.374-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-22T12:18:28.374-07:00</app:edited><title>ASP.NET MVC jQuery Autocomplete plug-in using JSON.</title><content type="html">&lt;span xmlns=''&gt;&lt;h3&gt;ASP.NET MVC jQuery Autocomplete plug-in using JSON.&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;This post demonstrate how to use JQuery Autocomplete  feature in ASP.NET MVC. In this demo we call the controller Action method to get the data in JSON format and bind it to the text box to accomplish the Autocomplete feature.&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;Before starting download the js and css file from &lt;a href='http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/'&gt;&lt;span style='color:blue; text-decoration:underline'&gt;jQuery Autocomplete plugin&lt;/span&gt;&lt;/a&gt; and add in the project and follow the steps mention below&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;Step 1. Add the following code for action method in controller &lt;br /&gt;&lt;/h3&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;span style='color:blue'&gt;public&lt;/span&gt;&lt;br /&gt;					&lt;span style='color:#2b91af'&gt;ActionResult&lt;/span&gt; StateLookup(&lt;span style='color:blue'&gt;string&lt;/span&gt; q, &lt;span style='color:blue'&gt;int&lt;/span&gt; limit)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;         {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;var&lt;/span&gt; jsonData = &lt;span style='color:blue'&gt;new&lt;/span&gt;[]{&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;new&lt;/span&gt; {Code = &lt;span style='color:#a31515'&gt;"AL"&lt;/span&gt;, Name = &lt;span style='color:#a31515'&gt;"Alabama"&lt;/span&gt;},&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;new&lt;/span&gt; {Code = &lt;span style='color:#a31515'&gt;"CA"&lt;/span&gt;, Name= &lt;span style='color:#a31515'&gt;"Califonia"&lt;/span&gt;},&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;new&lt;/span&gt; {Code = &lt;span style='color:#a31515'&gt;"IN"&lt;/span&gt;, Name = &lt;span style='color:#a31515'&gt;"Indiana"&lt;/span&gt;},&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;new&lt;/span&gt; {Code = &lt;span style='color:#a31515'&gt;"MD"&lt;/span&gt;, Name = &lt;span style='color:#a31515'&gt;"Maryland"&lt;/span&gt;},&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;new&lt;/span&gt; {Code = &lt;span style='color:#a31515'&gt;"NJ"&lt;/span&gt;, Name = &lt;span style='color:#a31515'&gt;"New Jersey"&lt;/span&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;                     &lt;br /&gt; &lt;/p&gt;&lt;p&gt;               &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;             };&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;return&lt;/span&gt; Json(jsonData);&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;         }&lt;/span&gt;&lt;br /&gt;			&lt;/h3&gt;&lt;h3&gt;I have used hardcode JSON list for the state. You can construct the JSON data from database using LINQ.&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;Step 2. Add the following java script in the view&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;span style='color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#a31515'&gt;script&lt;/span&gt;&lt;br /&gt;					&lt;span style='color:red'&gt;type&lt;/span&gt;&lt;span style='color:blue'&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;$(document).ready( &lt;span style='color:blue'&gt;function&lt;/span&gt;() {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;  $(&lt;span style='color:#a31515'&gt;'#state'&lt;/span&gt;).autocomplete(&lt;span style='color:#a31515'&gt;'&amp;lt;%=Url.Action("StateLookup", "Home") %&amp;gt;'&lt;/span&gt;, {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      dataType: &lt;span style='color:#a31515'&gt;'json'&lt;/span&gt;,&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      parse: &lt;span style='color:blue'&gt;function&lt;/span&gt;(data) {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;var&lt;/span&gt; rows = &lt;span style='color:blue'&gt;new&lt;/span&gt; Array();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;for&lt;/span&gt;(&lt;span style='color:blue'&gt;var&lt;/span&gt; i=0; i&amp;lt;data.length; i++){&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;              rows[i] = { data:data[i], value:data[i].Code, result:data[i].Code };&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;          }&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;return&lt;/span&gt; rows;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      },&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      formatItem: &lt;span style='color:blue'&gt;function&lt;/span&gt;(row, i, n) {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;return&lt;/span&gt; row.Code + &lt;span style='color:#a31515'&gt;' - '&lt;/span&gt; + row.Name;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      },&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      width: 300,&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;      mustMatch: &lt;span style='color:blue'&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;  });&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;});&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#a31515'&gt;script&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;			&lt;/h3&gt;&lt;h3&gt;Here, I specify that the rows in the drop down will have the state "Code - Name" format, and that the value that will be put in the textbox is the Code property of the selected item. This is done with the value property of the rows array.&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;Step 2. Add the HTML Text box &lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;span style='background-color:yellow'&gt;&amp;lt;%&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt; Html.TextBox(&lt;span style='color:#a31515'&gt;"state"&lt;/span&gt;)&lt;span style='background-color:yellow'&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;				&lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&lt;span style='font-family:Times New Roman; font-size:13pt'&gt;Complie the application and run it.&lt;/span&gt; To get this running, don't forget to include the required javascript files and the css to style the autocomplete drop down.&lt;span style='font-family:Times New Roman; font-size:13pt'&gt;&lt;br /&gt;				&lt;/span&gt;&lt;/h3&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-4369611869405105521?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rVBErN1MQuo7ro5aGD_ls_4cFSQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rVBErN1MQuo7ro5aGD_ls_4cFSQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rVBErN1MQuo7ro5aGD_ls_4cFSQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rVBErN1MQuo7ro5aGD_ls_4cFSQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/k0N9K2HhNZg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/4369611869405105521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/09/aspnet-mvc-jquery-autocomplete-plug-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/4369611869405105521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/4369611869405105521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/k0N9K2HhNZg/aspnet-mvc-jquery-autocomplete-plug-in.html" title="ASP.NET MVC jQuery Autocomplete plug-in using JSON." /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/09/aspnet-mvc-jquery-autocomplete-plug-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMBQXw5fCp7ImA9WxNRFU8.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-3015821739826774505</id><published>2009-09-09T13:17:00.000-07:00</published><updated>2009-09-09T13:17:30.224-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-09T13:17:30.224-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="Controls" /><title>How to use textbox</title><content type="html">&lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; Helper for TextBox will be rendered as input elements in &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt;. Check the below code.&lt;br /&gt;
&lt;br /&gt;
&lt;ol class="dp-xml" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comments"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;TextBox&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;only&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.TextBox("txtFirstName")&amp;nbsp;%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"text"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;""&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comments"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;TextBox&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;and&amp;nbsp;Value&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.TextBox("txtFirstName","Alice")&amp;nbsp;%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"text"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Alice"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comments"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;TextBox&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;and&amp;nbsp;Value&amp;nbsp;and&amp;nbsp;custom&amp;nbsp;attributes.&amp;nbsp;use&amp;nbsp;'@'&amp;nbsp;if&amp;nbsp;the&amp;nbsp;attribute&amp;nbsp;name&amp;nbsp;is&amp;nbsp;keyword&amp;nbsp;in&amp;nbsp;C#&amp;nbsp;or&amp;nbsp;VB&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.TextBox("txtFirstName",&amp;nbsp;"Alice",&amp;nbsp;new&amp;nbsp;{&amp;nbsp;@&lt;/span&gt;&lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"error"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;client_selector&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"alphanumeric"&lt;/span&gt;&lt;span&gt;&amp;nbsp;})%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;input&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"error"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;client_selector&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"alphanumeric"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"txtFirstName"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"text"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Alice"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-3015821739826774505?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zv8fGGBvkiZNgS_Kcy2Otlkv-T4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zv8fGGBvkiZNgS_Kcy2Otlkv-T4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zv8fGGBvkiZNgS_Kcy2Otlkv-T4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zv8fGGBvkiZNgS_Kcy2Otlkv-T4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/F9w-x0Q6qX4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/3015821739826774505/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-textbox.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/3015821739826774505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/3015821739826774505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/F9w-x0Q6qX4/how-to-use-textbox.html" title="How to use textbox" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-textbox.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUAQ3Yzfip7ImA9WxNRFU8.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-2552711571235040026</id><published>2009-09-09T12:24:00.000-07:00</published><updated>2009-09-09T12:24:02.886-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-09T12:24:02.886-07:00</app:edited><title>How to use drop down list</title><content type="html">HTML Helper for DropDownList field will be rendered as select elements in &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt;. Check the below code.&lt;br /&gt;
&lt;ol class="dp-xml" start="1"&gt;&lt;li class="alt"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;DropDownList&amp;nbsp;field&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;and&amp;nbsp;OptionLabel&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;lt;%=&amp;nbsp;Html.DropDownList("ddlStates")&amp;nbsp;%&amp;gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;lt;%=&amp;nbsp;Html.DropDownList("ddlStates","Please&amp;nbsp;select&amp;nbsp;state")&amp;nbsp;%&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;&amp;nbsp; &lt;b&gt;Note :&lt;/b&gt; &lt;i&gt;You cannot use these two helper method in &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; unless the datasource/data for binding is assigned/sent from the controller action method.&lt;/i&gt;&lt;br /&gt;
&lt;strong&gt;Exception :&lt;/strong&gt; There is no ViewData item with the key 'ddlStates' of type 'IEnumerable&amp;lt;SelectListItem&amp;gt;'.&amp;nbsp; &lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Code&lt;/b&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;ol class="dp-xml" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="comments"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;DropDownList&amp;nbsp;field&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;and&amp;nbsp;SelectListItem&amp;nbsp;(&amp;nbsp;Made&amp;nbsp;"Maryland"&amp;nbsp;to&amp;nbsp;be&amp;nbsp;the&amp;nbsp;default&amp;nbsp;selected&amp;nbsp;value)&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.DropDownList("ddlStates",new&amp;nbsp;List&amp;nbsp;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;SelectListItem&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;(){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&amp;nbsp;&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Maryland"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Selected&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Kansas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span&gt;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Texas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span&gt;}})&amp;nbsp;%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;selected&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"selected"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Maryland&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Kansas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Texas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;span class="comments"&gt;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;DropDownList&amp;nbsp;field&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;,&amp;nbsp;SelectListItem&amp;nbsp;and&amp;nbsp;OptionLabel(Please&amp;nbsp;select&amp;nbsp;state).&amp;nbsp;OptionLabel&amp;nbsp;will&amp;nbsp;be&amp;nbsp;selected&amp;nbsp;by&amp;nbsp;default&amp;nbsp;if&amp;nbsp;not&amp;nbsp;selected&amp;nbsp;is&amp;nbsp;given&amp;nbsp;in&amp;nbsp;the&amp;nbsp;SelectListItem--&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.DropDownList("ddlStates",&amp;nbsp;new&amp;nbsp;List&amp;nbsp;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;SelectListItem&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;(){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&amp;nbsp;&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Maryland"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span&gt;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Kansas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span&gt;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Texas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span&gt;}},"Please&amp;nbsp;select&amp;nbsp;state")&amp;nbsp;%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp; &lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;""&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Please&amp;nbsp;select&amp;nbsp;state&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Maryland&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Kansas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Texas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;lt;!--HTML&amp;nbsp;helper&amp;nbsp;method&amp;nbsp;for&amp;nbsp;DropDownList&amp;nbsp;field&amp;nbsp;with&amp;nbsp;ID&amp;nbsp;,&amp;nbsp;SelectListItem&amp;nbsp;,&amp;nbsp;OptionLabel(Please&amp;nbsp;select&amp;nbsp;state)&amp;nbsp;and&amp;nbsp;custom&amp;nbsp;attributes.&amp;nbsp;use&amp;nbsp;'@'&amp;nbsp;if&amp;nbsp;the&amp;nbsp;attribute&amp;nbsp;name&amp;nbsp;is&amp;nbsp;keyword&amp;nbsp;in&amp;nbsp;C#&amp;nbsp;or&amp;nbsp;VB.&amp;nbsp;The&amp;nbsp;default&amp;nbsp;selection&amp;nbsp;will&amp;nbsp;be&amp;nbsp;"Maryland".--&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;%=&amp;nbsp;Html.DropDownList("ddlStates",&amp;nbsp;new&amp;nbsp;List&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;SelectListItem&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;(){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&amp;nbsp;&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Maryland"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Selected&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Kansas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span&gt;},&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;new&amp;nbsp;SelectListItem(){&lt;span class="attribute"&gt;Text&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Texas"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;Value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span&gt;}},&amp;nbsp;"Please&amp;nbsp;select&amp;nbsp;state",&amp;nbsp;new&amp;nbsp;{&amp;nbsp;@&lt;/span&gt;&lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"error"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;client_selector&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"alphanumeric"&lt;/span&gt;&lt;span&gt;})%&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp; &lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"error"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;client_selector&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"alphanumeric"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"ddlStates"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;""&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Please&amp;nbsp;select&amp;nbsp;state&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;selected&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"selected"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"MD"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Maryland&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"KS"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Kansas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"TX"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Texas&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;option&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;select&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-2552711571235040026?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hh1JZL2W281RkLa7d9Umses2hNk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hh1JZL2W281RkLa7d9Umses2hNk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hh1JZL2W281RkLa7d9Umses2hNk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hh1JZL2W281RkLa7d9Umses2hNk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/aA7uafCiFM0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/2552711571235040026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-drop-down-list.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/2552711571235040026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/2552711571235040026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/aA7uafCiFM0/how-to-use-drop-down-list.html" title="How to use drop down list" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-drop-down-list.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cNR3w-cCp7ImA9WxNRFEk.&quot;"><id>tag:blogger.com,1999:blog-7060353751281383472.post-602099729218365432</id><published>2009-09-08T13:17:00.000-07:00</published><updated>2009-09-08T13:18:16.258-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-08T13:18:16.258-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="Checkbox" /><title>How to use checkbox</title><content type="html">Always use Html.CheckBox() overload methods for creating checkbox controls. &lt;br /&gt;
&lt;br /&gt;
Notice that the check box helper (Html.CheckBox()) renders two input controls. First, it renders a check box control as you’d expect, and then it renders a hidden input control of the same name. This is to work around the fact that when check boxes are deselected, browsers don’t submit any value for them. Having the hidden input control means the MVC Framework will receive the hidden field’s value (i.e., false) when the check box is unchecked. &lt;br /&gt;
Checkbox doesn't have a label. So add the html label tag with for attribute with value as “name of checkbox” &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Code:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;label for="chkAccept3"&gt;&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;%= Html.CheckBox("chkAccept1")%&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/label&gt;&lt;br /&gt;
&lt;label for="chkAccept3"&gt;&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;label for="chkAccept1"&amp;gt;Accept Terms &amp;amp; Conditions&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/label&gt;&lt;br /&gt;
&lt;label for="chkAccept3"&gt;&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;input checked="checked" id="chkAccept2" name="chkAccept2" type="checkbox" value="true" /&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/label&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;%= Html.CheckBox("chkAccept2", true )%&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;label for="chkAccept2"&amp;gt;Accept Terms &amp;amp; Conditions&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;input name="chkAccept2" type="hidden" value="false" /&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;label for="chkAccept2"&amp;gt;Accept Terms &amp;amp; Conditions&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;%= Html.CheckBox("chkAccept3", false, new { @class="error", @client_selector="alphanumeric" }) %&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;label for="chkAccept3"&amp;gt;Accept Terms &amp;amp; Conditions&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;input class="error" client_selector="alphanumeric" id="chkAccept3" name="chkAccept3" type="checkbox" value="true" /&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="background-color: white; color: blue;"&gt;&amp;lt;input name="chkAccept3" type="hidden" value="false" /&amp;gt;&amp;lt;label for="chkAccept3"&amp;gt;Accept Terms &amp;amp; Conditions&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Source : Apress.Pro.ASP.NET.MVC.Framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7060353751281383472-602099729218365432?l=aspnetmvcresource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-mshp8Lonz5PrHbRymLMyLTcn8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-mshp8Lonz5PrHbRymLMyLTcn8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-mshp8Lonz5PrHbRymLMyLTcn8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-mshp8Lonz5PrHbRymLMyLTcn8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AspnetMvcResource/~4/uLM-jp9_pS0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aspnetmvcresource.blogspot.com/feeds/602099729218365432/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-checkbox.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/602099729218365432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7060353751281383472/posts/default/602099729218365432?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AspnetMvcResource/~3/uLM-jp9_pS0/how-to-use-checkbox.html" title="How to use checkbox" /><author><name>amitmittal77</name><uri>http://www.blogger.com/profile/01016096556586913709</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><feedburner:origLink>http://aspnetmvcresource.blogspot.com/2009/09/how-to-use-checkbox.html</feedburner:origLink></entry></feed>

