2013-02-27 29 views
0

我可以在剃须刀页面上放置更多型号吗? 例如,当我有更多的网格控件,每个网格控件都有一个用于编辑数据的区域(模板),然后我想保存数据并在网格中查看它。mvc3页上的更多型号

+3

不,只是在超级模型中使用嵌套模型。 – 2013-02-27 15:41:08

+0

@DaveA,我怕你,所以我不会写一个示例代码:) – 2013-02-27 15:44:41

+0

哈哈! @AliRızaAdıyahşi,去吧。你有我的祝福! – 2013-02-27 15:45:44

回答

0

你可以不喜欢下面的例子(这是一个非常超过简单的例子):

public class AnimalDataViewModel 
{ 
    public List<Dog> DogData { get; set; } 

    public List<Cat> CatData { get; set; } 

    public List<Mouse> MouseData { get; set; } 

    public AnimalDataViewModel() 
    { 
     this.DogData = new List<Dog>(); 
     this.CatData = new List<Cat>(); 
     this.MouseData = new List<Mouse>(); 
    } 
} 

然后在动作方法:

public ActionResult DisplayAnimalDataGrids() 
{ 
    AnimalDataViewModel model = new AnimalDataViewModel(); 

    model.DogData = this.myDataService.GetDogData(); 
    model.CatData = this.myDataService.GetCatData(); 
    model.MouseData = this.myDataService.GetMouseData(); 

    return View(model); 
} 

然后在您的视图:

@model AnimalDataViewModel 

@Html.Grid(Model.DogData) 
@Html.Grid(Model.CatData) 
@Html.Grid(Model.MouseData) 
+0

在视图中,我想显示一些模型的编辑器模板,并使用它们来编辑网格信息。我可以使用Html.EditorFor或其他想法? – 2013-02-28 14:38:05

+0

这取决于,'EditorFor'在最初渲染页面时非常有用,因此您可以在主模型中包含单个Dog,Cat和Mouse的扁平模型。然后在视图中使用'Html.EditorFor(Model.Dog)'等。尽管如果你正在关注单屏幕应用程序路线,你可能需要查看渲染偏好,调用返回JSON对象的动作方法,并使用jQuery和更多的AJAX填充表单细节(并保存)。在MVC中,简单的页面到页面提交总是比单屏应用更容易。 – 2013-02-28 14:55:01

+0

有时不是我的电话,我必须这样做,因为他们要求我做,他们想要一个网格,并在一些编辑模板下面,我可以是多个网格在其他网页上有相同的ideea.and我的选择是使用部分视图加载与jquery.load()这样我仍然使用一些mvc的优点。 – 2013-03-13 08:19:39