我使用ASP.NET 4,MVC3,EF 4.3(代碼優先)和淘汰JS。我目前正在爲更復雜的模型之一創建和編輯表單。它有各種各樣的領域,以及相關對象的多個集合(多對多)。我將爲編輯場景提出我的問題,因爲這是兩者中較難的。任何方式在標準mvc表單文章中包含knockoutjs可觀察值?
我希望用戶能夠編輯模型中的所有字段,我已將其放入視圖模型中。爲了顯示和添加額外的技能(多對多集合中的一個),我決定使用knockoutjs來獲得很好的效果,這很好地顯示了集合的序列化初始對象,並允許我添加更多。
我的問題是如何通過將其發送回控制器來保存這個相當複雜的模型。由於許多字段可以很好地用標準HTML助手在視圖中表示,所以我想避免多個AJAX帖子或將每個字段綁定到ko.observable(數組)。我真正想要的只是採用多對多集合,將它們綁定到ko.observablearrays,並以某種方式將它們作爲標準強類型mvc視圖表單文章的一部分發回。
這甚至可能嗎?如果是這樣,我將如何處理它?我非常感謝任何幫助,迄今爲止我的研究沒有產生有用的結果。如果這有助於更好地描述問題,我願意發佈代碼小竅門。
編輯:
namespace MyProjectModels
{
[NotMapped]
public class JobSkillViewModel
{
public int SkillID { get; set; }
public int LevelID { get; set; }
public string SkillName { get; set; }
public string LevelDescription { get; set; }
}
}
請提供您正在使用的模型的示例 – sll 2012-03-13 15:03:01
我最近做了一個非常類似的事情(不是使用knockout),而是將數據作爲JSON發送到控制器,該控制器能夠將它綁定到服務器。我們使用newtonsoft json.net進行序列化和反序列化。不知道這是否有幫助! – Magrangs 2012-03-13 15:09:33
爲基本viewmodel和viewmodel的集合添加了模型。 – glockman 2012-03-13 15:28:54