Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ASP MVC中使用jQuery实现EF多对多关系,而不使用MultiSelectBox?_Jquery_Asp.net_Asp.net Mvc_Entity Framework - Fatal编程技术网

如何在ASP MVC中使用jQuery实现EF多对多关系,而不使用MultiSelectBox?

如何在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;} [

我正在使用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;}
    [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