0

我已经使用 MVC 模式有一段时间了,并且一直很好,但是我完全陷入了困境。

我有一个显示复杂对象集合的视图,部分视图如下:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ThreeSixtyScheduling.Areas.Products.Models.PartsOnOrderModel+PartOnOrder>" %>
<tr>
<% using (Html.BeginForm("UpdateStockDueDate", "PartsOnOrder", FormMethod.Post))
   { %>
    <td><input type="hidden" name="CallAppointmentDate" value="<%= Model.CallAppointmentDate %>" /><%= Html.DisplayFor(m => m.CallAppointmentDate)%></td>
    <td><%= Html.HiddenFor(m => m.OrderNumber)%><%= Html.DisplayFor(m => m.OrderNumber)%></td>
    <td><%= Html.HiddenFor(m => m.JobNumber)%><%= Html.DisplayFor(m => m.JobNumber)%></td>
    <td><%= Html.HiddenFor(m => m.Part)%><%= Html.DisplayFor(m => m.Part)%></td>
    <td><%= Html.HiddenFor(m => m.Quantity)%><%= Html.DisplayFor(m => m.Quantity)%></td>
    <td><%= Html.EditorFor(m => m.StockDueDate)%></td>
    <td><button type="submit">Save</button></td>
<% } %>
</tr>

我有一个将复杂对象作为参数的控制器操作:

public ActionResult UpdateStockDueDate(PartsOnOrderModel.PartOnOrder PartOnOrder)

Form确实在其集合中具有价值,CallAppointmentDate因此我理解它应该适当地填充该值。

我尝试了许多排列,包括将名称更改为PartOnOrder.CallAppointmentDate、设置 ID 和名称、将属性添加为单独的参数,但没有任何效果。

我究竟做错了什么?

4

1 回答 1

1

默认模型绑定器根据服务器的当前文化执行绑定/验证工作。如果您想根据不同的文化进行日期时间绑定/验证,则必须编写自定义模型 binder

于 2012-07-16T10:27:15.317 回答