2012-11-21 40 views
0

所以,我有這個類在這裏:創建從模型的列表的局部視圖中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操作。問題是,視圖渲染除List之外的所有內容。 我的想法是創建一個列表,允許爲每個菜餚(Platillo)添加新配料(Ingredientes)和份量(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的列表條目?

回答

0

我小有一點有點困惑你的設計爲什麼要使用公共列表

virtual List<ListaIngredientes> listadeIngredientes { get; set;}我會開始,但首先建立在你的ListaIngredientes一個Platillo外鍵,將匹配Platillo像PlatilloID所以現在你將有與Platilloios及其ingridients相匹配的ListaIredredientes列表。

然後確定您可以創建一個ajax局部視圖,您可以在其中添加Ingrediente,然後將特定的ingridients與您的Platilloio匹配在另一個單獨的視圖中單獨創建ingridiets和Platilloio,然後在另一個視圖中從i​​ngridients添加ingridiets在你的Ingridients表中Pelatio。

1

只使用一個局部視圖頁面的樣本,試試這個:

@model <Project>.Models.Platillo 

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