处理视图中每个特定属性的多个模型

时间:2015-06-30 19:37:21

标签: c# asp.net-mvc ienumerable

我试图在表格中显示一组特定于n个模型中每个模型的属性

我有以下型号:

public enum Rarity
{
    Legendary,
    Epic,
    Rare,
    Common
}

public class Card
{
    public int ID { get; set; }

    public string Name { get; set; }
    public bool Disenchant { get; set; }
    public Rarity Rarity { get; set; }

    public virtual ICollection<Deck> Decks { get; set; }
}

甲板

public class Deck
{
    public int ID { get; set; }
    public string Name { get; set; }

    public virtual Card Card { get; set; }
    public virtual Hero Hero { get; set; }
}

主页索引控制器:

public ActionResult Index()
{
    var db = new DustContext();
    var cards = db.Cards.ToList();
    return View(cards);
}

索引片段:

@model IEnumerable<App.Models.Card>
<tbody>
  @foreach (var item in Model)
  {
    @Html.Partial("_CardList", item)
    }
</tbody>

最后我的部分:

@model CardApp.Models.Card

<tr>
  <td>@Model.Name</td>
  <td>@Model.Rarity</td>
  <td>@Model.Disenchant</td>
</tr>

如何在表格中显示卡片模型中的属性(已在部分中)以及来自Deck模型的属性?我尝试过使用元组但是我得到了List和IEnumerable错误。

1 个答案:

答案 0 :(得分:1)

您应该使用ViewModel并在ViewModel中拥有每个模型的实例。

基本上,您的ViewModel将传递给包含任意数量的其他对象,模型,属性等的视图。

http://sampathloku.blogspot.com/2012/10/how-to-use-viewmodel-with-aspnet-mvc.html