<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Opinionated ASP.NET MVC by Joshua Flanagan</title>
	<atom:link href="http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/</link>
	<description>Software development, testing, and techie life</description>
	<lastBuildDate>Thu, 08 Mar 2012 22:19:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Chad Myers</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-599</link>
		<dc:creator>Chad Myers</dc:creator>
		<pubDate>Wed, 08 Oct 2008 16:14:56 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-599</guid>
		<description>@Colin:

Sorry, I wasn&#039;t very clear. We can localize strings based on a straight key (i.e. &quot;USERNAME_KEY&quot;) or, when we&#039;re doing something based on reflection, like a textbox with a label, it will default to using a localized string keyed off the property.

// Inferred localized string label for textbox
&lt;%= this.TextBoxFor(m=&gt;m.Case.Title) %&gt;

// Explicit localized string labelf or textbox
&lt;%= this.TextBoxFor(m=&gt;m.Case.Title).WithLabel(&quot;CASE_TITLE_KEY&quot;) %&gt;
</description>
		<content:encoded><![CDATA[<p>@Colin:</p>
<p>Sorry, I wasn&#8217;t very clear. We can localize strings based on a straight key (i.e. &#8220;USERNAME_KEY&#8221;) or, when we&#8217;re doing something based on reflection, like a textbox with a label, it will default to using a localized string keyed off the property.</p>
<p>// Inferred localized string label for textbox<br />
< %= this.TextBoxFor(m=>m.Case.Title) %></p>
<p>// Explicit localized string labelf or textbox<br />
< %= this.TextBoxFor(m=>m.Case.Title).WithLabel(&#8220;CASE_TITLE_KEY&#8221;) %></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-598</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Wed, 08 Oct 2008 06:59:39 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-598</guid>
		<description>Ta for the reply, on 2 though I&#039;m not following. If the localization manager looks for the localized version of &quot;FirstName&quot; property of the &quot;Contact&quot; object then isn&#039;t that keying on the class hierarchy. 

Only care because localization is something I&#039;ve done a few times before and will have to work on again soon and I *hate* it.</description>
		<content:encoded><![CDATA[<p>Ta for the reply, on 2 though I&#8217;m not following. If the localization manager looks for the localized version of &#8220;FirstName&#8221; property of the &#8220;Contact&#8221; object then isn&#8217;t that keying on the class hierarchy. </p>
<p>Only care because localization is something I&#8217;ve done a few times before and will have to work on again soon and I *hate* it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chad Myers</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-597</link>
		<dc:creator>Chad Myers</dc:creator>
		<pubDate>Tue, 07 Oct 2008 13:37:09 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-597</guid>
		<description>1.) No. The request hits the routing engine first and if it determines it&#039;s a straight /controller/action call, it hits the InvocationRegistry and it takes off from there.  We still have the ability to do crazy routes in the routing engine.

2.) No, we have keys we &#039;key&#039; on. Also, we can have it use properties of a given entity for things like grid header rows and such.  The localization manager will look for the localized version of the &quot;FirstName&quot; property of the &quot;Contact&quot; object, for example.

3.) Getting the &quot;choose the view&quot; responsibility out of the controller helps keep our controllers nice and lean and reusable for multiple purposes. It allows us to use the same controller for serving up a normal page, or the same functionality in a modal pop-up. The invocation stuff handles whether it&#039;s in a modal pop-up (and the associated callback), or if it&#039;s in a full page (normal mode).</description>
		<content:encoded><![CDATA[<p>1.) No. The request hits the routing engine first and if it determines it&#8217;s a straight /controller/action call, it hits the InvocationRegistry and it takes off from there.  We still have the ability to do crazy routes in the routing engine.</p>
<p>2.) No, we have keys we &#8216;key&#8217; on. Also, we can have it use properties of a given entity for things like grid header rows and such.  The localization manager will look for the localized version of the &#8220;FirstName&#8221; property of the &#8220;Contact&#8221; object, for example.</p>
<p>3.) Getting the &#8220;choose the view&#8221; responsibility out of the controller helps keep our controllers nice and lean and reusable for multiple purposes. It allows us to use the same controller for serving up a normal page, or the same functionality in a modal pop-up. The invocation stuff handles whether it&#8217;s in a modal pop-up (and the associated callback), or if it&#8217;s in a full page (normal mode).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-596</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Tue, 07 Oct 2008 07:38:35 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-596</guid>
		<description>Great stuff, sounds very interesting and I love the removal of strings from Views/Tests and so on...very useful. 

I wanted to ask about a few bits I still don&#039;t get:

 1) Invocation registry - Do you mean you handle all routing yourself?
 2) LocalizationManager - Do you just key on the object hierarchy to get the descriptions, just interested in how your handling this to be honest.

I&#039;d also be interested in reading more about how you seperate the preparation of the view from the actual execution of the view. Sounds cool, so far I don&#039;t think I&#039;ve met situations where I&#039;ve needed such a capability but I could be wrong. </description>
		<content:encoded><![CDATA[<p>Great stuff, sounds very interesting and I love the removal of strings from Views/Tests and so on&#8230;very useful. </p>
<p>I wanted to ask about a few bits I still don&#8217;t get:</p>
<p> 1) Invocation registry &#8211; Do you mean you handle all routing yourself?<br />
 2) LocalizationManager &#8211; Do you just key on the object hierarchy to get the descriptions, just interested in how your handling this to be honest.</p>
<p>I&#8217;d also be interested in reading more about how you seperate the preparation of the view from the actual execution of the view. Sounds cool, so far I don&#8217;t think I&#8217;ve met situations where I&#8217;ve needed such a capability but I could be wrong. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robz</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-595</link>
		<dc:creator>Robz</dc:creator>
		<pubDate>Sun, 07 Sep 2008 15:36:26 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-595</guid>
		<description>As opposed to indifferent ASP.NET MVC? Or how about indecisive ASP.NET MVC? That&#039;s the one that brings down your server because it can&#039;t make up it&#039;s mind.

 ;D</description>
		<content:encoded><![CDATA[<p>As opposed to indifferent ASP.NET MVC? Or how about indecisive ASP.NET MVC? That&#8217;s the one that brings down your server because it can&#8217;t make up it&#8217;s mind.</p>
<p> ;D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy D. Miller</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-594</link>
		<dc:creator>Jeremy D. Miller</dc:creator>
		<pubDate>Sat, 06 Sep 2008 00:10:45 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-594</guid>
		<description>Psst.  We need to switch:

&lt;%= this.TextBoxFor( m =&gt; m.Contact.FirstName ).Width(200).WithLabel(“FIRST_NAME”) %&gt;    

to

&lt;%= this.TextBoxFor( m =&gt; m.Contact.FirstName ).Width(200).WithLabel() %&gt;

because LocalizationManager &quot;knows&quot; how to retrieve a localized string title for a class property.

And no, I don&#039;t see us switching to the IModelBinder stuff in v5.  I think our solution is still better than IModelBinder.  


@Joe,

Part of the &quot;Invocation Registry&quot; (horrific name that I&#039;m to blame for) infrastructure is a Fluent Interface for hooking up controller actions and views.  We have a grammar for registering controller actions as JSON output in that FI.    </description>
		<content:encoded><![CDATA[<p>Psst.  We need to switch:</p>
<p>< %= this.TextBoxFor( m => m.Contact.FirstName ).Width(200).WithLabel(“FIRST_NAME”) %>    </p>
<p>to</p>
<p>< %= this.TextBoxFor( m => m.Contact.FirstName ).Width(200).WithLabel() %></p>
<p>because LocalizationManager &#8220;knows&#8221; how to retrieve a localized string title for a class property.</p>
<p>And no, I don&#8217;t see us switching to the IModelBinder stuff in v5.  I think our solution is still better than IModelBinder.  </p>
<p>@Joe,</p>
<p>Part of the &#8220;Invocation Registry&#8221; (horrific name that I&#8217;m to blame for) infrastructure is a Fluent Interface for hooking up controller actions and views.  We have a grammar for registering controller actions as JSON output in that FI.    </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chad Myers</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-593</link>
		<dc:creator>Chad Myers</dc:creator>
		<pubDate>Wed, 03 Sep 2008 14:56:22 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-593</guid>
		<description>@Joe:  Essentially yes. We&#039;re consistent about setting the content type for JSON requests (actually, jQuery is :))</description>
		<content:encoded><![CDATA[<p>@Joe:  Essentially yes. We&#8217;re consistent about setting the content type for JSON requests (actually, jQuery is :))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe</title>
		<link>http://lostechies.com/chadmyers/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan/#comment-592</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Wed, 03 Sep 2008 14:29:46 +0000</pubDate>
		<guid isPermaLink="false">/blogs/chad_myers/archive/2008/09/03/opinionated-asp-net-mvc-by-joshua-flanagan.aspx#comment-592</guid>
		<description>How do you handle the JSON in, JSON out actions? Are you setting the request header on the client and then the ActionInvoker looks for that header key then returns a JSONResult?</description>
		<content:encoded><![CDATA[<p>How do you handle the JSON in, JSON out actions? Are you setting the request header on the client and then the ActionInvoker looks for that header key then returns a JSONResult?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
