<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET MVC</title><link>http://forums.asp.net/1146.aspx</link><description>Discussions regarding Model-View-Controller (MVC) support in ASP.NET.  &lt;a href="http://forums.asp.net/1215.aspx"&gt;T4MVC subforum&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610481.aspx</link><pubDate>Tue, 09 Sep 2008 18:12:55 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610481</guid><dc:creator>Woil</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610481.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610481</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;levib:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;p&gt;&amp;nbsp; If an exception is thrown and we redirect to an error view, we lose that information, which defeats the purpose of using ModelState (and hence binders) in the first place.&lt;/p&gt;
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;But if an exception &lt;strong&gt;IS &lt;/strong&gt;thrown an ugly error message will be shown instead of the one that I&amp;#39;ve specified? I realize you&amp;#39;re trying to get users to use the ModelState, but perhaps there&amp;#39;s a better way to accomplish this. Sorry to be argumentative.&lt;/p&gt;
&lt;p&gt;In my&amp;nbsp;case&amp;nbsp;all of my &amp;quot;views&amp;quot; are just ajax json objects anyway... no angle brackets here... so my &amp;quot;view&amp;quot; packages up the exceptions and the js code displays them to the&amp;nbsp;user real nice. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610455.aspx</link><pubDate>Tue, 09 Sep 2008 18:04:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610455</guid><dc:creator>levib</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610455.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610455</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;Woil:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Just to clarify, I should put all of binding&amp;nbsp;errors into the ModelStateDictionary and then handle them individually in my controller actions?&amp;nbsp;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Correct.&amp;nbsp; Binders and ModelState are meant to be used together.&amp;nbsp; They were designed to work with one another.&lt;/p&gt;
&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;Woil:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#000000"&gt;If a bind error is thrown why not catch it with the custom errors? &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;The ModelState objects are responsible for keeping track of the user&amp;#39;s original input, even if that input was in error.&amp;nbsp; If an exception is thrown and we redirect to an error view, we lose that information, which defeats the purpose of using ModelState (and hence binders) in the first place.&lt;/p&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610414.aspx</link><pubDate>Tue, 09 Sep 2008 17:50:41 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610414</guid><dc:creator>Woil</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610414.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610414</wfw:commentRss><description>&lt;p&gt;Just to clarify, I should put all of binding&amp;nbsp;errors into the ModelStateDictionary and then handle them individually in my controller actions?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ActionResult&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ViewProduct(Product p)&lt;br /&gt;{&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(!ViewData.ModelState.IsValid)&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//redirect to error display view&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;...&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#000000"&gt;That seems a bit excessive if I instead I could actually&amp;nbsp;handle the exception thrown via the Exception view. Why not both? If a bind error is thrown why not catch it with the custom errors? &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610351.aspx</link><pubDate>Tue, 09 Sep 2008 17:21:14 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610351</guid><dc:creator>levib</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610351.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610351</wfw:commentRss><description>Parameter binders should not throw exceptions if the ModelStateDictionary is explicitly passed to them.&amp;nbsp; Instead, they should populate that dictionary.&lt;br /&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610342.aspx</link><pubDate>Tue, 09 Sep 2008 17:17:22 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610342</guid><dc:creator>Woil</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610342.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610342</wfw:commentRss><description>&lt;p&gt;Also worthy of discussion: Parameter Binding errors are not caught by the ExceptionFilters. If a parameter does not bind correctly there is no way to catch the error with the HandleError attribute on a action or controller. A review of ControllerActionInvoker shows the code as:&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;virtual&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; InvokeAction(ControllerContext controllerContext, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; actionName) {&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;...&lt;br /&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;IDictionary&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;gt; parameters = GetParameterValues(methodInfo);&lt;br /&gt;FilterInfo filterInfo = GetFiltersForActionMethod(methodInfo);&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;br /&gt;&amp;nbsp;//call action&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;}&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex) {&lt;br /&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;// something blew up, so execute the exception filters&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;ExceptionContext exceptionContext = InvokeExceptionFilters(ex, filterInfo.ExceptionFilters);&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Instead, I think it would be better as:&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;virtual&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; InvokeAction(ControllerContext controllerContext, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; actionName) {&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;...&lt;br /&gt;&lt;font size="2"&gt;FilterInfo filterInfo = GetFiltersForActionMethod(methodInfo);&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#2b91af"&gt;&amp;nbsp;IDictionary&lt;/font&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;gt; parameters = GetParameterValues(methodInfo);&lt;br /&gt;&lt;/font&gt;&amp;nbsp;//call action&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;}&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex) {&lt;br /&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;// something blew up, so execute the exception filters&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;ExceptionContext exceptionContext = InvokeExceptionFilters(ex, filterInfo.ExceptionFilters);&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;That way you could handle exceptions in parsing action parameters.&lt;/p&gt;&lt;/font&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2610324.aspx</link><pubDate>Tue, 09 Sep 2008 17:07:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2610324</guid><dc:creator>Woil</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2610324.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2610324</wfw:commentRss><description>&lt;p&gt;From the HandleErrorAttribute.cs in the Mvc Preview 5, note the comment:&lt;/p&gt;
&lt;p&gt;&lt;span class="cmt"&gt;// If custom errors are disabled, we need to let the normal ASP.NET exception handler&lt;br /&gt;// execute so that the user can see useful debugging information.&lt;/span&gt;&lt;br /&gt;&lt;span class="kwd"&gt;if&lt;/span&gt; (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;return&lt;/span&gt;;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;I want the custom errors disabled for most exceptions. I want to see that juicy stack trace goodness. Eventually when I deploy I&amp;#39;ll turn them off of course.&lt;/p&gt;
&lt;p&gt;But before and after I deploy I want certain exceptions that I specify&amp;nbsp;to be handled by the view I specify as they are being thrown for business logic reasons. Here&amp;#39;s&amp;nbsp;how I would write it:&lt;/p&gt;&amp;nbsp;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; HandleErrorAttribute()&lt;br /&gt;{&lt;br /&gt;IgnoreWhileDebugging = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; IgnoreWhileDebugging { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; }&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;virtual&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; OnException(ExceptionContext filterContext) {&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (filterContext == &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) {&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;throw&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ArgumentNullException&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;filterContext&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;}&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// If custom errors are disabled, we need to let the normal ASP.NET exception handler&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// execute so that the user can see useful debugging information.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (filterContext.ExceptionHandled || (!filterContext.HttpContext.IsCustomErrorEnabled &amp;amp;&amp;amp; IgnoreWhileDebugging)) {&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp; return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;//use here&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;[&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HandleError&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(ExceptionType = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;typeof&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ValidationException&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;), View = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;ValidationError&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,IgnoreWhileDebugging = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)]&lt;br /&gt;[&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HandleError&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;()]&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ProductController&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Controller { ...&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2608265.aspx</link><pubDate>Tue, 09 Sep 2008 01:07:54 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2608265</guid><dc:creator>Haacked</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2608265.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2608265</wfw:commentRss><description>&lt;p&gt;You can change your debug=&amp;quot;false&amp;quot; or in web.config set the &amp;lt;customErrors mode=&amp;quot;On&amp;quot; /&amp;gt;.&lt;/p&gt;</description></item><item><title>HandleErrorAttribute / HttpContext.IsCustomErrorEnabled - Reasons for Change?</title><link>http://forums.asp.net/thread/2608144.aspx</link><pubDate>Mon, 08 Sep 2008 22:19:20 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2608144</guid><dc:creator>Woil</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2608144.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1146&amp;PostID=2608144</wfw:commentRss><description>&lt;p&gt;I skimmed over it in the release notes, but noticed it when my rescues weren&amp;#39;t working anymore. If (HttpContext.IsCustomErrorEnabled) then all [HandleError] attributes are ignored in version 5. For some errors this might be the ideal solution, but for others it isn&amp;#39;t. In my case, I throw exceptions when a user doesn&amp;#39;t fill out a form correctly. (For example putting letters in a phone number box.) These exceptions are then handled by the view and displayed nicely to the user. (All with JSON / ExtJs.) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;In short: I ALWAYS want my specified error handling for certain exception types, regardless of debug or release mode. I understand that it would be nice to provide this feature to some users. How about:&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;[&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HandleError&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(ExceptionType = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;typeof&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ValidationException&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;),IgnoreForDebug =&amp;nbsp;&lt;font color="#0000ff"&gt;false,&lt;/font&gt;&amp;nbsp;View = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;ValidationError&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)]&lt;br /&gt;public class ProductController { &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thanks for keeping the process open to comment.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-Will&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;</description></item></channel></rss>