如何在ASP MVC中使用jQuery实现EF多对多关系,而不使用MultiSelectBox?
我正在使用EntityFramework6.1和ASP.NETMVC5构建一个应用程序。我得到了以下模型:如何在ASP MVC中使用jQuery实现EF多对多关系,而不使用MultiSelectBox?,jquery,asp.net,asp.net-mvc,entity-framework,Jquery,Asp.net,Asp.net Mvc,Entity Framework,我正在使用EntityFramework6.1和ASP.NETMVC5构建一个应用程序。我得到了以下模型: class Person { public Int32 Id {get; set;} [Required] public String Name {get; set;} public List<Book> Books {get; set;} } class Book { public Int32 Id {get; set;} [
class Person {
public Int32 Id {get; set;}
[Required]
public String Name {get; set;}
public List<Book> Books {get; set;}
}
class Book {
public Int32 Id {get; set;}
[Required]
public String Title {get; set;}
public List<Person> Authors {get; set;}
}
当我以这种方式获取POST数据时,我可以自动绑定模型并将其映射到地图上。然而,客户端存在一些未解决的问题:
- 我的真实图形路径更复杂(如
)。如果没有(最初为空的集合)可以从中复制路径,如何添加条目东西[3]。子内容[1]。书籍[0]。作者[2]
- 当我从末尾删除一个项目时,如何填补索引中的空白
我走错方向了吗?在处理这种关联时,我应该采用不同的方法吗?如何呈现
AuthorIds[0]=17
?你能给我看一些html代码吗?我确实“想象”过它们。毕竟,HTML表单应该像这样传递一组数字,但我放弃了这种方法。我最终呈现了作者列表,但只传递了他们的ID。因此,我的路径现在看起来像作者[0]。Id=17
。
class BookViewModel {
public String Title {get; set;}
public List<Int32> AuthorIds {get; set;}
public List<PersonViewModel> Authors {get; set;}
}
class PersonViewModel {
public Int32 Id {get; set;}
public String Name {get; set;}
}
<h1>Book @Model.Title</h1>
@Html.DisplayFor(m => m.Authors)
AuthorIds[0]=17
AuthorIds[1]=44
AuthorIds[2]=90234