2010-10-11 24 views
1

我有一個由VS 2010生成的編輯視圖(下面的代碼)。我不希望用戶看到ListID,所以我評論了它。編輯查看帖子錯誤的對象

會發生什麼情況是,如果我評論的<%:Html.TextBoxFor(型號=> model.ListID)%>線,當我點擊提交,控制器而不是接收像名字DSList東西=」 x「和listID = 10,總是獲得listID = 0。

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<DomainModel.Entities.DSList>" %> 

    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
     Edit 
    </asp:Content> 
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
     <h2> 
      Edit</h2> 
     <% using (Html.BeginForm()) 
      {%> 
     <%: Html.ValidationSummary(true) %> 
     <fieldset> 
      <legend>Fields</legend> 

      <div class="editor-field"> 
       <%--<%: Html.TextBoxFor(model => model.ListID) %>--%> 
      </div> 

      <div class="editor-label"> 
       <%: Html.LabelFor(model => model.Name) %> 
      </div> 
      <div class="editor-field"> 
       <%: Html.TextBoxFor(model => model.Name) %> 
       <%: Html.ValidationMessageFor(model => model.Name) %> 
      </div> 
      <p> 
       <input type="submit" value="Save" /> 
      </p> 
     </fieldset> 
     <% } %> 
     <div> 
      <%: Html.ActionLink("Back to List", "Index") %> 
     </div> 
    </asp:Content> 

控制器:

[HttpPost] 
     public ActionResult Edit(DSList l) 
     { 
// l always comes with the id equal to 0. 
... logic ... 
} 

我能做些什麼,以獲得正確的對象?

謝謝

回答

3

您需要將ID包含在隱藏字段中。

+0

謝謝SLaks!有沒有什麼辦法可以在沒有隱藏領域的情況下做到這一點?我在看一個沒有隱藏字段的項目,但我無法理解這個值是如何傳遞的。 – 2010-10-11 16:40:07

+0

你可以把ID放在查詢字符串中,或​​者從一個cookie手動解析它。但是,如果不將它放在任何地方,你都不能神奇地堅持下去。 – SLaks 2010-10-11 17:11:09