コードでわかるように、私は2つのクラスをRegistratieViewModelに持っています。私のビューモデルを私の視点に渡すと、Reizigersではなく、Selectieクラスだけが認識されますか?誰かが私を助けることができますか? 私はエラーを取得する:「CS1061 C#がの定義が含まれていないとタイプの最初の引数を受け入れ何の拡張メソッドが見つかりませんでした(?あなたがusingディレクティブまたはアセンブリ参照が不足している」)ビューはビューモデルのクラスを認識しません
のViewModel
public class RegistratieViewModel
{
public SelectieViewModel Selectie { get; set; }
public List<ReizigersViewModel> Reizigers { get; set; }
public RegistratieViewModel()
{
Reizigers = new List<ReizigersViewModel>();
}
}
public class SelectieViewModel
{
public SelectList VanStad { get; set; }
public SelectList NaarStad { get; set; }
public bool Klasse { get; set; }
public DateTime DatumHeenReis { get; set; }
public DateTime DatumTerugReis { get; set; }
public int AantalReizigers { get; set; }
}
public class ReizigersViewModel
{
public string Voornaam { get; set; }
public string Familienaam { get; set; }
}
コントローラ
// GET: Hotels/Index
public ActionResult Index(RegistratieViewModel registratie)
{
stedenServices = new StedenServices();
RegistratieViewModel registratieviewmodel = new RegistratieViewModel();
registratieviewmodel.Selectie.VanStad = new SelectList(stedenServices.All(), "StadID", "Stad");
registratieviewmodel.Selectie.NaarStad = new SelectList(stedenServices.All(), "StadID", "Stad");
return View(registratieviewmodel);
}
ビュー
@model Treinreizen.Models.ViewModels.RegistratieViewModel
<div class="form-horizontal">
<h4>RegistratieViewModel</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Reizigers.Voornaam, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Reizigers.Voornaam, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Reizigers.Voornaam, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Reizigers.Familienaam, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Reizigers.Familienaam, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Reizigers.Familienaam, "", new { @class = "text-danger" })
</div>
</div>
</div>
'model.Reizigers'は' ReizigersViewModel'ではなく 'List'です。さらに、Controllerメソッドのどの時点でも、このリストに何も追加していないようです。 – user1935361
完全な例外を投稿してください。皮肉なことに、あなたが省略した部分は、何が欠けているかを詳述しているので、最も重要です。一般に、これは型にないメソッドを呼び出すときに発生する例外です。あなたのビューモデルや他のクラスとはまったく関係ありません。この例外があなたのコード内でどこから呼び出されているのかも明確ではありません。 –
@ user1935361これを解決するにはどうすればよいですか?目的は、AantalReizigers intのおかげで誰が何人の旅行者が来るかを言わなければならないということです。誰かが番号をつけたら、フィールドは自動的に "Voornaam"と "Familienaam"に追加されます。そして、与えられる名前は、リストに入れられます。 – KevinN