0

私はmvc4を使用しています。私の見解では、宣言があります

        @model IEnumerable<UserDisplay>

同じビューで、別のオブジェクトタイプ名「レビュー」の「作成」投稿を含むフォームが必要です

EditorFor と をどのように使用できValidationMessageForますか? 原因のモデルは異なるタイプです。

これは機能していません

   @using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Review</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.Info) 
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Info)
        @Html.ValidationMessageFor(model => model.Info)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.FromId)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.FromId)
        @Html.ValidationMessageFor(model => model.FromId)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.ToId)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.ToId)
        @Html.ValidationMessageFor(model => model.ToId)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>

}

4

2 に答える 2

0

両方のオブジェクトを含むビュー モデルを使用できます。

public class MyViewModel
{
    public IEnumerable<UserDisplay> { get; set; }
    public Review Review { get; set; }
}

次に、ビューでのモデル宣言は次のようになります。

@model TheNamespace.For.MyViewModel

@Html.EditorForこれにより、@Html.ValidationMessageForヘルパーを使用できるようになります。

于 2012-11-20T18:16:22.857 に答える
0

必要な型の @model 宣言を使用するフォームの部分ビューを作成してから、 を使用します@Html.Partial("mySubFormView")。ビューにモデル タイプを混在させないでください。複雑になりすぎます。

于 2012-11-20T18:16:43.963 に答える