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

Default Model Binder は、サーバーの現在のカルチャに基づいてバインド/検証作業を行います。異なるカルチャに基づいて日時バインディング/検証を行いたい場合は、カスタム モデル バインダーを作成する必要があります。

于 2012-07-16T10:27:15.317 に答える