我有一个由VS 2010生成的编辑视图(下面的代码)。我不希望用户看到ListID,所以我对它进行了评论。
如果我评论<%:Html.TextBoxFor(model => model.ListID)%> 行,当我点击提交时,控制器而不是接收某些内容比如名称=“x”且listID = 10的DSList,总是得到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 ...
}
我该怎么做才能收到正确的物品?
谢谢
答案 0 :(得分:3)
您需要将ID包含在隐藏字段中。