从 MVC3 中的模型列表创建分部视图



所以,我这里有这个类:

public class Platillo
{
    public virtual int ID { get; set; }
    public virtual String NombrePlatillo { get; set; }
    public virtual int idRestaurante { get; set; }
    public virtual String DescripcionPlatillo { get; set; }
    public virtual bool esAprobado { get; set; }
    public virtual bool esDisponible { get; set; }
    public virtual double precio { get; set; }
    public virtual DateTime vigenciaPlatillo { get; set; }
    public virtual List<ListaIngredientes>  listadeIngredientes { get; set;}
}

我创建了一个强类型的 PlatilloController 来执行所有基本的 CRUD 操作。问题是,视图呈现除列表之外的所有内容。我的想法是创建一个列表,允许添加新成分(成分)和菜肴(Platillo)上每个人的份量(Porciones)。

public class ListaIngredientes
{
    public virtual int ID { get; set; }
    public virtual Ingrediente ingrediente { get; set; }
    public virtual int porciones { get; set; }
}
public class Ingrediente
{
    public virtual int ID { get; set; }
    public virtual String NombreIngrediente { get; set; }
    //...
}

所以,我的想法是实现一个PartialView,在菜肴上列出每种成分,并允许添加新成分。我究竟该怎么做?而且,由于我计划在同一页面上创建和更新新成分,因此我确信我应该考虑AJAX。我究竟如何使用 Ajax 创建和显示 ListaIngrediente 的列表条目?

只是一个使用部分视图页面的示例,请尝试以下操作:

@model <Project>.Models.Platillo
@foreach(ListaIngredientes ing in listadeIngredientes)
{
      <div>@ing.ID</div>
      <div>@ing.Ingrediente.NombreIngrediente</div>
}

我对你的设计有点困惑,你为什么要使用列表公共

virtual List<ListaIngredientes> listadeIngredientes { get; set;}我会开始,但首先在你的ListaIngIngredientsientes中创建一个Platillo外键,它将与PlatilloID之类的Platillo匹配,所以现在你将有一个与Platilloios匹配的ListaIngIngrecientes列表。

然后确保您可以创建一个 ajax 部分视图,您可以在其中添加成分,然后在另一个词中创建单独的视图中将特定的 ingridient 与您的 Platilloio 匹配,分别创建 ingridiets 和 Platilloio,然后在另一个视图上将 Ingridients 表中的 ingridients 添加到 Pelatio。