0

我开始使用 ASP.NET MVC4,但遇到了一些小麻烦:) 我有一个看起来像这样的 viewModel:

 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 和 Model.Children 进行了测试,但没有成功。

这可以做到吗?

有什么帮助吗?

4

1 回答 1

1

Adulte在or中有一些关键属性Child。否则,如果Name属性将是唯一的,您可以Name发送AdulteChild

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....
于 2013-06-26T06:31:22.537 回答