2014-06-19 23 views
3

我有我想在我查看修改對象的名單,我建立了一個視圖模型包含的對象列表:形式向外發送空模型

public class TrainerListViewModel 
    { 
     public List<Trainer> Trainers { get; set; } 
    } 

我送培訓師的一個列表從控制器的觀點:

public virtual ActionResult Social() 
     { 
      var Trainers = new TrainerListViewModel(); 

      Trainers.Trainers = (from t in _db.Trainers select t).ToList(); 

      return View(Trainers); 
     } 

,這裏是我的觀點:

@model XStreamingFitness.ViewModels.TrainerListViewModel 


@using (Html.BeginForm("Social", "Participant", FormMethod.Post)) 
{ 
    for (int i = 0; i < Model.Trainers.Count; i++) 
    { 
     <div class="formSep"> 

      <div class="editor-label"> 
       @Html.LabelFor(m => m.Trainers[i].permissionPostFacebook) 
      </div> 
      <div class="editor-field"> 
       @Html.EditorFor(m => m.Trainers[i].permissionPostFacebook) 
       @Html.ValidationMessageFor(m => m.Trainers[i].permissionPostFacebook) 
      </div> 
     </div> 
    } 

    <input type="submit" value="Save Settings" name="Submit" /> 
} 

現在這裏是POST控制器方法:

[HttpPost] 
     public virtual ActionResult Social(TrainerListViewModel Trainers) 
     { 

      return RedirectToAction("Profile"); 
     } 

但每次我提交時,培訓師模型都是空的,我不知道爲什麼會發生這種情況。

+1

如果您攔截小提琴手,您是否看到POST中的數據? –

+0

是的,信息正在發送 –

+0

你需要任何進一步的幫助嗎? – dmportella

回答

1

這個問題已經在這裏問過,所以我建議你檢查一下mvc3 submit model empty,它和你所遇到的問題一樣。

查看帖子中的代碼段。

我看到人們寫了以下lambda表達式modelItem => item.SomeProperty在他們的觀點經常和問爲什麼模型 粘合劑不正確對他們的看法 模型綁定集合屬性。

這將不會爲複選框生成正確的名稱,以便默認的 模型聯編程序能夠重新創建設置集合。我想 建議您閱讀以下blog post以更好地瞭解模型聯編程序預期的正確格式。

- 通過達林季米特洛夫

它與你建立你的表格,他去建議你使用屬性編輯器模板的訓練對象的方式去做。

這應該工作。

希望它有幫助