2016-03-22 23 views
0

Bu yüzden göndermeye çalıştığım bir formum var ve hem listeyi hem de bağlanacak modeli alabiliyorum, ancak her ikisini de aynı anda değil. Model bağlayıcı ile ilgili olduğundan şüpheleniyorum.Model verisi ile ciltleme

HTML Kontrolör

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Index(TransfersHeader h) 
{ 
    return View(); 
} 

Modeli Sınıf

@using (Html.BeginForm("Index", "Home", FormMethod.Post)){ 
    @Html.AntiForgeryToken() 
    <div class="TransferHeader"> 
     <div> 
      @Html.LabelFor(model => model.tranRequestedBy) 
      @Html.EditorFor(model => model.tranRequestedBy, new { @Name = "h.tranRequestedBy" }) 
     </div> 
     <div> 
      @Html.LabelFor(model => model.tranNotes) 
      @Html.EditorFor(model => model.tranNotes, new { @Name = "h.tranNotes" }) 
     </div> 
     <input name="h.TransfersDetail.Index" id="detIndex" type="hidden" value="c3a3f7dd-41bb-4b95-b2a6-ab5125868adb"> 
     <input name="h.TransfersDetail[c3a3f7dd-41bb-4b95-b2a6-ab5125868adb].detToolCode" id="detToolCode" type="hidden" value="1234"> 
    </div> 
} 

:

public virtual ICollection<TransfersDetail> TransfersDetail { get; set; } 
public string tranRequestedBy { get; set; } 
public string tranNotes { get; set; } 

iki alt girişler bir eklenti yöntemine AJAX çağrısından üretildi, ne olur eğer onlar İki HTML yardımcı editörleri modele gelmeyecek, ancak sadece transfer varsa detay listesi görünecektir. Tüm verilerin modele geldiğinden emin olmak için yapabileceğim bir şey var mı?

cevap

0

Bu girdileri nasıl oluşturduğunuz açık değil, ancak name öznitelikleri yanlış. You modeli h adında bir koleksiyon özelliği içermiyor, ancak girişler senin bir id niteliği (eğer jQuery toplama öğeleri başvuran eğer ekleyerek neden de belli değil

<input name="TransfersDetail.Index" type="hidden" value="c3a3f7dd-41bb-4b95-b2a6-ab5125868adb"> 
<input name="TransfersDetail[c3a3f7dd-41bb-4b95-b2a6-ab5125868adb].detToolCode" type="hidden" value="1234"> 

it'i olması gerekiyor bu yüzden, bir TransfersDetail adlı içermiyor , sınıf adlarını ve göreceli seçicileri kullanarak daha iyi olurdu), ancak id kullanımınız, geçersiz html (ve jQuery seçicileri hiçbir durumda çalışmaz) yinelenen id özniteliklerini oluşturacağınızı öneren bir dizinleyiciye sahip değildir.

+0

teşekkürler, çalıştım, kontrolörün beklentisinden sonra liste öğesini isimlendiriyordum h. – Herrozerro