2013-02-27 30 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