c# – 2个模型选择字符串
发布时间:2020-12-15 21:45:12 所属栏目:百科 来源:网络整理
导读:我试图用visual studio 2010学习自己的C#MVC4. 我想要做的是在某人用户名上选择的1个视图上获得2个模型的完整输出. 所以如果我去/团队/细节/ 1 我将从模特队员和球队获得所有信息. 楷模: public class Players{ public int ID { get; set; } public string
我试图用visual studio 2010学习自己的C#MVC4.
我想要做的是在某人用户名上选择的1个视图上获得2个模型的完整输出. 所以如果我去/团队/细节/ 1 楷模: public class Players { public int ID { get; set; } public string Name { get; set; } public int price { get; set; } public string coach { get; set; } public string Team { get; set; } } public class Teams { public int ID { get; set; } public string Name { get; set; } public string coach { get; set; } } 调节器 using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Web; using System.Web.Mvc; using voetbal.Models; namespace voetbal.Controllers { public class TeamsController : Controller { private TeamsDBContext db = new TeamsDBContext(); // // GET: /Teams/ public ActionResult Index() { return View(db.Teams.ToList()); } // // GET: /Teams/Details/5 public ActionResult Details(int id = 0) { Teams teams = db.Teams.Find(id); if (teams == null) { return HttpNotFound(); } return View(teams); } // // GET: /Teams/Create public ActionResult Create() { return View(); } // // POST: /Teams/Create [HttpPost] public ActionResult Create(Teams teams) { if (ModelState.IsValid) { teams.coach = User.Identity.Name; db.Teams.Add(teams); db.SaveChanges(); return RedirectToAction("Index"); } return View(teams); } // // GET: /Teams/Edit/5 public ActionResult Edit(int id = 0) { Teams teams = db.Teams.Find(id); if (teams == null) { return HttpNotFound(); } return View(teams); } // // POST: /Teams/Edit/5 [HttpPost] public ActionResult Edit(Teams teams) { if (ModelState.IsValid) { db.Entry(teams).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(teams); } // // GET: /Teams/Delete/5 public ActionResult Delete(int id = 0) { Teams teams = db.Teams.Find(id); if (teams == null) { return HttpNotFound(); } return View(teams); } // // POST: /Teams/Delete/5 [HttpPost,ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { Teams teams = db.Teams.Find(id); db.Teams.Remove(teams); db.SaveChanges(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { db.Dispose(); base.Dispose(disposing); } } } 我绝对怎么做到这一点,我已经尝试了一个viewmodel类,但我不知道如何获得someones教练名称的这些信息. 我期待着您的回复. 解决方法
有很多方法可以让这只猫受到伤害,但你要首先看到的一件事就是你不会发回两个模型的一个实例.如果检查“详细信息”操作的代码:
public ActionResult Details(int id = 0) { Teams teams = db.Teams.Find(id); if (teams == null) { return HttpNotFound(); } return View(teams); } 显然,我们发回的所有内容都是团队模型的一个实例.那么,让我们检查一下我们的选项.请考虑以下代码: public ActionResult Details(int id = 0) { Teams teams = db.Teams.Find(id); if (teams == null) { return HttpNotFound(); } // get the list of players into a List<Players> var players ... var model = new Tuple<Teams,List<Players>>(teams,players); return View(model); } 现在在视图中我们可以将我们的模型设置为此(请注意,您需要在@model声明中完全限定团队和玩家): @model Tuple<Teams,List<Players>> 从那里我们可以做以下事情: Model.Item1.Name 要么: Model.Item2[0].Name; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |