Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 2个型号选择在字符串上_C#_Visual Studio 2010_Viewmodel - Fatal编程技术网

C# 2个型号选择在字符串上

C# 2个型号选择在字符串上,c#,visual-studio-2010,viewmodel,C#,Visual Studio 2010,Viewmodel,我试图通过VisualStudio2010学习自己的MVC4 我想做的是在Someone用户名上选择的1个视图上获得2个模型的完整输出 所以如果我去/Teams/Details/1 我会从模特、球员和球队那里得到所有的信息 型号: public class Players { public int ID { get; set; } public string Name { get; set; } public int price { get; set; }

我试图通过VisualStudio2010学习自己的MVC4

我想做的是在Someone用户名上选择的1个视图上获得2个模型的完整输出

所以如果我去/Teams/Details/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类,但我不知道如何获得有关某人教练姓名的信息


我期待着您的回复。

有很多方法可以剥这只猫的皮,但有一点您必须首先看到的是,您甚至没有发回两种型号的一个实例。如果检查详细信息操作的代码:

显然,我们返回的只是团队模型的一个实例。那么,让我们看看我们有一个选项。考虑下面的代码:

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.Item1.Name
或:


你能添加你的控制器操作代码吗?你是如何将你的Db映射到类的?谢谢,我通过编辑我的帖子包含了控制器。谢谢你的回复,我真的很感激!你能告诉我我该怎么做吗@var玩家。。。部分?@JasonHoendervanger:你需要像对待球队一样,用数据库环境来对待球员。如果玩家不在TeamsDbContext中,那么您需要将其添加到该上下文或构建一个新上下文。不管是哪种方式,你都需要进入数据库,找到他们想要的球队球员的详细信息。你能给我举个例子吗?我不能让它工作。我不知道在哪里提供上下文。我确实在Players.cs模型中提供了一个上下文。通过使用[var Players=db2.Players.ToList;]我可以收到球员列表,现在我只想看到教练所在的球员,例如Jasony,你可以在上面使用where。
@model Tuple<Teams, List<Players>>
Model.Item1.Name
Model.Item2[0].Name;