title: C# MVC Return view(object) results in a querystring?
body: <p>I have this actionresult method:</p>
  
  <pre><code>public ActionResult MenuItemCreated(MenuItem item)
  {
      return View(item);
  }
  </code></pre>
  
  <p>And this is my view:</p>
  
  <pre><code>&lt;%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage&lt;MenuItem&gt;" %&gt;
  
  &lt;asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"&gt;
      MenuItemCreated
  &lt;/asp:Content&gt;
  
  &lt;asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"&gt;
  
      &lt;h2&gt;MenuItemCreated&lt;/h2&gt;
  
      &lt;%: Model.Caption %&gt; is created succesfully
  &lt;/asp:Content&gt;
  </code></pre>
  
  <p>What I see on the page is correct (test is created successfully). But my querystring looks like this:</p>
  
  <pre><code>http://localhost:62602/Admin/MenuItemCreated/2?Caption=test&amp;Link=%2Fclient
  </code></pre>
  
  <p>EDIT:
  The ActionResult is called from this method:</p>
  
  <pre><code>public ActionResult CreateMenuItem(FormCollection fc)
  {
      MenuItem menuItem = CreateMenuItemFrom(fc);
      SaveMenuItem(menuItem);
  
      return RedirectToAction("MenuItemCreated", menuItem);
  }
  </code></pre>
  
  <p>EDIT II:</p>
  
  <p>Corresponding view:</p>
  
  <pre><code>&lt;% using (Html.BeginForm("CreateMenuItem","Admin",FormMethod.Post)) {%&gt;
      &lt;%: Html.ValidationSummary(true) %&gt;
  
      &lt;fieldset&gt;
          &lt;legend&gt;Fields&lt;/legend&gt;
  
          &lt;div class="editor-label"&gt;
              &lt;%: Html.LabelFor(model =&gt; model.Caption) %&gt;
          &lt;/div&gt;
          &lt;div class="editor-field"&gt;
              &lt;%: Html.TextBoxFor(model =&gt; model.Caption) %&gt;
              &lt;%: Html.ValidationMessageFor(model =&gt; model.Caption) %&gt;
          &lt;/div&gt;
  
          &lt;div class="editor-label"&gt;
              &lt;%: Html.LabelFor(model =&gt; model.Link) %&gt;
          &lt;/div&gt;
          &lt;div class="editor-field"&gt;
              &lt;%: Html.TextBoxFor(model =&gt; model.Link) %&gt;
              &lt;%: Html.ValidationMessageFor(model =&gt; model.Link) %&gt;
          &lt;/div&gt;
  
          &lt;div class="editor-label"&gt;
              &lt;%: Html.LabelFor(model =&gt; model.ParentId) %&gt;
          &lt;/div&gt;
          &lt;div class="editor-field"&gt;
              &lt;%: Html.TextBoxFor(model =&gt; model.ParentId) %&gt;
              &lt;%: Html.ValidationMessageFor(model =&gt; model.ParentId) %&gt;
          &lt;/div&gt;
  
          &lt;p&gt;
              &lt;input type="submit" value="Create MenuItem" /&gt;
          &lt;/p&gt;
      &lt;/fieldset&gt;
  
  &lt;% } %&gt;
  </code></pre>
  
  <p>Why is this? I don't want the querystring to be shown.</p>