私のビューでは2つのモデルを使用するためにTupleを実装しています。辞書に渡されたモデル項目の型は 'System.Tuple'ですか?
辞書に渡されたモデルアイテムがタイプ
System.Tuple'2[WebApplication.Models.log_voyage,System.Collections.Generic.List'1[WebApplication.Models.log_ligne_voyage]]»
のですが、この辞書はタイプ«System.Tuple'2[System.Collections.Generic.List'1[WebApplication.Models.log_voyage],System.Collections.Generic.List'1[WebApplication.Models.log_ligne_voyage]]»
のモデルアイテムが必要です。しかし、次のエラーを取得しています。ここで
私のビューです:
@using WebApplication.Models;
@model Tuple<List<log_voyage>, List<log_ligne_voyage>>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout1.cshtml";
}
はコントローラー:
public ActionResult Index(int id = 0)
{
var first = entities.log_voyage.Where(v => v.Num_Voy == lastVoyageID).FirstOrDefault();
log_voyage voyage1 = entities.log_voyage.Find(lastVoyageID);
var second = entities.log_ligne_voyage.Where(x => x.NUM_Voy == lastVoyageID).ToList();
var t = new Tuple<log_voyage, List<log_ligne_voyage>>(first, second);
return View(t);
}
[HttpPost]
public ActionResult Index(Tuple<log_voyage, List<log_ligne_voyage>> voy)
{
try
{
if (voy.Item1.Dat_Voy == null)
{
ModelState.AddModelError("Dat_Voy", "Incorrect Date.");
}
//.............Some Code .........//
entities.Entry(voy.Item1).State = EntityState.Modified;
entities.SaveChanges();
return RedirectToAction("Index", "Miss_Voyage");
}
else
{
GetListcontoller();
return View(voy);
}
}
catch (DataException /* dex */)
{
ModelState.AddModelError("", "Impossible d'executer cette action. contacter le service info SVP.");
GetListcontoller();
return View("Index", "Home");
}
}
どれ提案してください?
は、ビューと何がIndexメソッドに期待しているから、' 'タプル<リスト、リスト>比較しますlog_ligne_voyage >> '2つのコードの違いは分かりますか? –
ahhhはい私はそれを変更するが、私はこのエラーがあった Erreur du serveur dans l'application '/'。 Erreur de compilation CS1579: 'WebApplication.Models.log_voyage'という変数は、WebApplication.Modelsのためにforeach文を操作できません。log_voyage 'には' GetEnumerator 'のパブリック定義が含まれていません – Sofia
それを 'Tuple>'に変更すると、タプルの最初の部分を反復することはできません。もはや 'List 'ではありません。 –