2013-12-17 69 views
0

我有以下視圖模型視圖模型總是屬性空

public class EditPatientViewModel 
{ 
    public Domain.Entities.Patient patient; 
    public IEnumerable<Espece> Especes; 
    public IEnumerable<Client> Clients; 

} 

以下控制器

 public ViewResult Edit(int Id_pat) 
    { 
     var ViewModel = new EditPatientViewModel(); 
     ViewModel.patient = patientRepo.GetPatientById(Id_pat); 
     ViewModel.Especes = especeRepo.Especes; 

     return View(ViewModel); 
    } 

    [HttpPost] 
    public ActionResult Edit(EditPatientViewModel editPatientViewModel) 
    { 
     if (ModelState.IsValid) 
     { 
      patientRepo.Save(editPatientViewModel.patient); 
      TempData["message"] = "Sauvé"; 
      return RedirectToAction("Index"); 
     } 
     else 
     { 
      return View(editPatientViewModel); 
     } 
    } 

和下面的視圖

@model Veto.Models.ViewModels.EditPatientViewModel 

@{ 
    ViewBag.Title = "Edit"; 
} 

<h2>Edit</h2> 


@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal"> 
     <h4>Edit Patient</h4> 
     <hr /> 
     @Html.ValidationSummary(true) 
     <div class="form-group"> 
      <div class="col-md-10"> 
       @Html.HiddenFor(m => m.patient.Id_pat) 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-md-10"> 
       @Html.EditorFor(m => m.patient.Nom_pat) 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-md-offset-2 col-md-10"> 
       <input type="submit" value="Save" class="btn btn-default" /> 
      </div> 
     </div> 
    </div> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

我每次提交表單視圖模型發佈不爲空,但屬性是..我想檢索屬性進行更新。

爲什麼? TX,

回答

1

兩個相同problem在一小時:)

您的視圖模型改成這樣:

public class EditPatientViewModel 
{ 
    public Domain.Entities.Patient patient { get; set; } 
    public IEnumerable<Espece> Especes { get; set; } 
    public IEnumerable<Client> Clients { get; set; } 
} 

在複雜的類型,MVC模式粘結劑搜索成員變量的屬性沒有。

+0

感謝它正在工作,有趣的是,有人在同一時間有同樣的問題.. – bAN

+0

@bAN這是因爲世界很小 – MRB