我是MVC的新手,所以我不確定最好的方法會在這裏。ASP.NET MVC 3 - 編輯項目動態添加到jQuery對話框中的模型集合
我有一個包含了多個集合這樣的視圖模型:
public class MainViewModel{
public List<AViewModel> A { get; set; }
public List<BViewModel> B {get; set; }
...}
我使用的是史蒂夫·桑德森的做法here動態地添加項目到一個集合,只要子項是它的正常工作在主視圖上編輯。
我遇到的問題是返回帶有編輯鏈接的只讀列表,該鏈接將打開要在彈出對話框中編輯的詳細信息。
由於這些項目可能是新添加的,因此我無法使用ID屬性從控制器返回部分視圖。好像我得使編輯在一個隱藏的div像這樣:
<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>
有誰知道一個更好的方式來做到這一點?