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 ...
}
我能做些什麼,以獲得正確的對象?
謝謝
謝謝SLaks!有沒有什麼辦法可以在沒有隱藏領域的情況下做到這一點?我在看一個沒有隱藏字段的項目,但我無法理解這個值是如何傳遞的。 – 2010-10-11 16:40:07
你可以把ID放在查詢字符串中,或者從一個cookie手動解析它。但是,如果不將它放在任何地方,你都不能神奇地堅持下去。 – SLaks 2010-10-11 17:11:09