Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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.net mvc 3 如何在视图中创建多对多关系_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 如何在视图中创建多对多关系

Asp.net mvc 3 如何在视图中创建多对多关系,asp.net-mvc-3,Asp.net Mvc 3,让我更具体地回答我的问题 我有一种多对多的关系。我有机会,我有项目 在我的Opportunity/Create视图中,我希望能够从项目列表中添加任意数量的项目。因此,当我单击create表单上的save按钮时,我可能会保存许多与此记录关联的项目 所以,唯一的方法是为“我的项目”表中的每个项目都包含一个单击框?我将如何执行类似于单击此按钮从下拉列表中插入新项目的操作 型号: public class Opportunity { public int Id { get; set; }

让我更具体地回答我的问题

我有一种多对多的关系。我有机会,我有项目

在我的Opportunity/Create视图中,我希望能够从项目列表中添加任意数量的项目。因此,当我单击create表单上的save按钮时,我可能会保存许多与此记录关联的项目

所以,唯一的方法是为“我的项目”表中的每个项目都包含一个单击框?我将如何执行类似于单击此按钮从下拉列表中插入新项目的操作

型号:

public class Opportunity
{
    public int Id { get; set; }
    public string MyOpportunity { get; set; }
}

public class Items
{
    public int Id { get; set; }
    public string ItemName { get; set; }

}

public class ItemsToOpportunity
{
    public int Id { get; set; }
    public int OpportunityId { get; set; }
    public int ItemId { get; set; }

}

根据您的问题和评论,听起来您只需要提供一个带有多个复选框的表单

然后,当您发布到服务器时,复选框的共享名称将成为要使用的一组以逗号分隔的ID

 <input type="checkbox" name="myNewOpportunityItems" value="1"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="2"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="3"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="4"><span>Item 1</span>

当你问“我该怎么做”时,你在寻求什么帮助?代码结构?UI?我想我的3个模型都是正确的。我只是不确定如何在控制器和视图中实现它,以便在创建新商机时可以添加任意数量的项目。
 public ActionResult MyPostActionResult(string myNewOpportunityItems)
 {
       // myNewOpportunityItems == "1,3,4";
 }