首页 / C# / c# – 2个模型选择字符串
c# – 2个模型选择字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 2个模型选择字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3030字,纯文字阅读大概需要5分钟。
内容图文
我试图用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;
内容总结
以上是互联网集市为您收集整理的c# – 2个模型选择字符串全部内容,希望文章能够帮你解决c# – 2个模型选择字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。