我在这里实现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");
}
}
任何建议,请?
比较'组<列表,名单>'从您的视图和你期待的指数方法是什么:'组>'你看到这两段代码之间的区别了吗? –
ahhh是我改变它,但我有这个错误 Erreur du serveur dans l'application'/'。 Erreur de compilation CS1579:foreach语句无法对'WebApplication.Models.log_voyage'类型的变量进行操作,因为'WebApplication.Models。log_voyage”不包含一个公共定义‘的GetEnumerator’ – Sofia
权,如果你改变它只是'组>',你将无法遍历元组的第一部分,因为它不再是'List '。 –