<p>Which way do you prefer to create your forms in MVC?</p>

<pre><code>&lt;% Html.Form() { %&gt;
&lt;% } %&gt;
</code></pre>

<p>Or</p>

<pre><code>&lt;form action="&lt;%= Url.Action("ManageImage", "UserAccount") %&gt;" method="post"&gt;
&lt;/form&gt;
</code></pre>

<p>I understand that Html.Form() as of PR5 now just uses the URL provided by the request.  However something about that doesn't sit well with me, especially since I will be getting all the baggage of any querystrings that are included.  </p>

<p>What is your take?</p>

[{'answer_id': 42289, 'author': 'Brad Wilson', 'author_id': 1554, 'author_profile': 'https://Stackoverflow.com/users/1554', 'pm_score': 2, 'selected': False, 'text': '<p>On the whole, I think I\'m kinda old-school as I prefer to roll my own HTML elements.</p>\n\n<p>I also prefer a view engine like like <a href="http://andrewpeters.net/2007/12/19/introducing-nhaml-an-aspnet-mvc-view-engine/" rel="nofollow noreferrer">NHaml</a>, which makes writing HTML almost an order of magnitude simpler.</p>\n'}, {'answer_id': 42304, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 4, 'selected': True, 'text': '<p>The second way, definitely.  The first way is programmer-centric, which is not what the V part of MVC is about.  The second way is more designer centric, only binding to the model where it is necessary, leaving the HTML as natural as possible.</p>\n'}, {'answer_id': 42502, 'author': 'Nick Berardi', 'author_id': 17, 'author_profile': 'https://Stackoverflow.com/users/17', 'pm_score': 1, 'selected': False, 'text': '<p>I have to agree with both of you, I am not really like this simplistic WebForms style that seems to be integrating its way in to MVC.  This stuff almost seems like it should be a 3rd party library or at the very least an extensions library that can be included if needed or wanted.</p>\n'}, {'answer_id': 42946, 'author': 'Dale Ragan', 'author_id': 1117, 'author_profile': 'https://Stackoverflow.com/users/1117', 'pm_score': 1, 'selected': False, 'text': '<p>I am totally in the opinion of old school HTML, that is what designers use.  I don\'t like to include to much code centric syntax for this reason.  I treat the web form view engine like a third party library, because I replaced it with a different view engine.  If you do not like the way the web form view model works or the direction it is going, you can always <a href="https://stackoverflow.com/questions/42582/what-view-engine-are-you-using-with-aspnet-mvc">go a different route</a>.  That is one of the main reasons I love ASP.NET MVC.</p>\n'}, {'answer_id': 43080, 'author': 'Andrew Peters', 'author_id': 608, 'author_profile': 'https://Stackoverflow.com/users/608', 'pm_score': 0, 'selected': False, 'text': '<p>The reason for using helpers is that they allow you to encapsulate common patterns in a consistent and DRY fashion. Think of them as a way of refactoring views to remove duplication just as you would with regular code. </p>\n\n<p>For example, I <a href="http://andrewpeters.net/2008/08/21/nhaml-block-methods-and-restful-helpers/" rel="nofollow noreferrer">blogged</a> about some RESTful NHaml helpers that can build urls based on a model.</p>\n'}, {'answer_id': 44620, 'author': 'Andrew Burns', 'author_id': 3683, 'author_profile': 'https://Stackoverflow.com/users/3683', 'pm_score': 1, 'selected': False, 'text': '<p>I agree with Andrew Peters, DRY.  It should also be pointed out that you can specify your controller, action, and params to the .Form() helper and if they fit into your routing rules then no query string parameters will be used.</p>\n\n<p>I also understand what Will was saying about the V in MVC.  In my opinion I do not think it is a problem to put code in the view <strong>as long as it is for the view</strong>.  It is really easy to cross the line between controller and view if you are not careful.  Personally I can not stand to use C# as a template engine without my eyes bleeding or getting the urge to murder someone.  This helps me keep my logic separated, controller logic in C#, view logic in brail.</p>\n'}]
['https://Stackoverflow.com/questions/42282', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/17/']