2013-06-26 101 views
0

我開始使用ASP.NET MVC4和我有一些小的麻煩:) 我有一個視圖模型,看起來像這樣:ASP.NET MVC 4 - 泛型列表 - 視圖 - Ajax.ActionLink

public class Adulte{ 
    public string Name {get;set;} 
    public List<Child> Children {get;set;} 
} 
public class Child{ 
    public string Name {get;set;} 
    public int Age {get;set;} 
} 

我想動態添加/刪除我的視圖中的子項。

@Ajax.ActionLink("Add Child", 
     "AddChild", 
     new { ???= ??? }, 
     new AjaxOptions 
     { 
     InsertionMode = InsertionMode.InsertAfter, 
     HttpMethod = "POST" 
     } 
    ) 
    ..... 
    @using (Html.BeginForm()) 
    { 
     <div id="parent"> 
      <p> 
      @Html.Label("Name") 
      @Html.TextBoxFor(x => x.Name) 
      <p> 
      </div> 
      <div id="children"> 
      </div> 
      <input type="submit" value="Save" /> 
    } 

但我不知道發送到ActionLink的哪些參數,我和型號以及Model.Children沒有成功測試。

這可以做到嗎?

任何幫助?

+0

你傳遞給你的觀點是什麼模型? – Longball27

+0

我試圖通過Adulte和從控制器。 的[AcceptVerbs(HttpVerbs.Post)] 公共的ActionResult的AddChild(Adulte AdulteItem) { 如果(AdulteItem.Children == NULL)AdulteItem.Children =新列表(); \t AdulteItem.Children.Add(new Child()); return PartialView(「ChildView」,AdulteItem); } – Stan92

回答

1

AdulteChild有一些關鍵的財產。否則,如果Name財產將是唯一的,您可以發送NameAdulteChild

public class Adulte{ 
    public int AdulteId {get;set;} 
    public string Name {get;set;} 
    public List<Child> Children {get;set;} 
} 
public class Child{ 
    public int ChildId {get;set;} 
    public int Age {get;set;} 
} 

看來,(刪除Child

@Ajax.ActionLink("Remove Child", 
    "RemoveChild", 
    new { ChildId = ChildId }, 
    new AjaxOptions 
    { 
    InsertionMode = InsertionMode.InsertAfter, 
    HttpMethod = "POST" 
    } 
) 

,並添加Child,你可以通過它沒有參數。

... 
"AddChild", 
    null, 
    new AjaxOptions.... 
+0

謝謝..你能告訴我如何配置AddChild的partialView?我嘗試了你所說的,但是當我驗證整個最終表單時,我的Adulte.Children(在我的

忘記提及我的後)總是空的。 對不起,這個新手問題..只需要得到的圖片。 – Stan92

+0

[在ASP.net MVC 4中使用部分視圖](http://stackoverflow.com/questions/13934671/using-partial-views-in-asp-net-mvc-4),[使用Ajax進行部分視圖加載.NET MVC4](http://stackoverflow.com/questions/14529936/using-ajax-for-partial-view-loading-loading-in-net-mvc4) - 幫助你自己 – Paritosh