1

私はこのモデルを持っています:

        public Flight[] Flights { get; set; }
        public Passenger Passenger { get; set; }
        public ReservationData ReservationData { get; set; }

このようにModelStateエラーを追加したい:

        Operation.ModelState.AddModelError("Flights", "");

ただし、フライト配列の項目に個別にエラーを追加したいと思います。では、どのキーを使用しますか?

4

1 に答える 1

0

私には回避策のように思えますがModelState、コントローラーとビューの両方で直接利用でき、フライトの識別子など、ある種のフライト固有のキーを作成できます。

これは、配列内のフライトのインデックスをそのような識別子として使用する例です。コントローラ:

...
for (int i=0; i < model.Flights.Length; i++)
{

    //here comes the validation for flight model.Flights[i]
    //if the validation fails, adding error to the model

    Operation.ModelState.AddModelError("Flight" + i, "");
}
...

意見:

<% for (int i=0; i < Model.Flights.Length; i++) { %>

    <%-- flight rendering goes here, including rendering of errors --%>

    <% if (ViewData.ContainsKey("Flight" + i) { %>
        <%: ViewData.ModelState["Flight" + i].Errors[0] %>
    <% } %>
<% } %>
于 2012-04-23T08:02:34.877 に答える