MVC'ye yeni geldim, bu yüzden en iyi yaklaşımın burada olacağından emin değildim.ASP.NET MVC 3 - jquery iletişim kutusunda model koleksiyonuna dinamik olarak eklenen öğeleri düzenle
Böyle birkaç koleksiyonlarını içeren bir görünüm modeli vardır:
public class MainViewModel{
public List<AViewModel> A { get; set; }
public List<BViewModel> B {get; set; }
...}
Dinamik bir koleksiyona öğe eklemek için Steve Sanderson'ın yaklaşımını here kullanıyorum ve o kadar uzun alt öğeler gibi düzgün şekilde çalışıyorsa Ana görünümde düzenlenebilir.
Yapmakta olduğum sorun, bir açılır pencerede düzenlemek üzere ayrıntıları açacak bir düzenleme bağlantısına sahip salt okunur bir listeyi döndürmektir.
Bu öğeler yeni eklenmiş olabileceğinden, denetleyiciden kısmi bir görünüm vermek için ID özelliğini kullanamıyorum. Şimdi durumda gizli bir div editörleri işlemek gerekecek gibi görünüyor:
<div class="AEditorRow">
@using (Html.BeginCollectionItem("A"))
{
@Html.DisplayFor(l => l.ID)
@Html.DisplayFor(l => l.Name)
@Html.DisplayFor(l => l.Code)
<a href="#" onclick="$('#detailsPopup').html($(this).parent().find('.ADetails').html()).dialog()">edit</a> <text>|</text>
<a href="#" class="deleteRow">delete</a>
<div class="ADetails" style="display: none">
@using (Html.BeginForm("EditA", "Controller"))
{<fieldset>
<legend>Location</legend>
@Html.HiddenFor(model => model.ID)
<div class="editor-label">
@Html.LabelFor(model => model.Code)
</div>
kimse daha iyi bir yol biliyor mu bu yapmalı?