1

2つのエンティティモデルを組み合わせたビューが必要です。次のようなクラスを作成しました。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FSDS.DataModels;

namespace FSDS.WebUX.Models
{
    public partial class ChainandJob
    {
        public ScheduleJobChain chain {get;set;} //this object has 6 properties
        public ScheduleJob job {get;set;} //this object has 8 properties.
    }
}

「create」スキャフォールドを使用して、新しい部分ビューを作成しました。これは私に与えるものです:

@model FSDS.WebUX.Models.ChainandJob

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>ChainandJob</legend>

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

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

すべてのフィールドはどこにありますか?

4

2 に答える 2

3

次のように、自分で作成する必要があります。

@Html.EditorFor(model => model.ChainandJob.chain.Bla)
@Html.ValidationMessageFor(model => model.ChainandJob.chain.Bla)
@Html.EditorFor(model => model.ChainandJob.job.Bla)
@Html.ValidationMessageFor(model => model.ChainandJob.job.Bla)

等々。

編集

私はこの方法ではしませんが、VSにの編集ビューを作成させSchedualJobChain、別の1つをScheduleJob作成して、作成したテンプレートを1つのビューモデルにカットすることができます。@Html.HiddenFor(model => model.ChainandJob.chain.Idなどもお忘れなく。

于 2012-08-10T19:05:13.027 に答える
2

VSはあなたのオブジェクトを知りません。<legend>ChainandJob</legend>追加してみた直後

@EditorFor(m => m.chain.ChainProperty)
@ValidationMessageFor(m => m.chain.ChainProperty)

@EditorFor(m => m.job.JobProperty)
@ValidationMessageFor(m => m.job.JobProperty)

そして、物事は厄介なものになります:) EditorFor微調整が必​​要な場合は、デフォルトの出力が生成されます-気軽にそうしてください。

于 2012-08-10T19:02:07.007 に答える