如何与一个添加文本框的模式,以一对多的关系

问题描述:

我有两个型号“用户”(ID,用户名,地址)和“销售”(同上,descriprion,用户ID)如何与一个添加文本框的模式,以一对多的关系

用户可以拥有多个销售(一个到很多关系)

我想从mvc剃须刀的形式添加用户信息,我也想从我的窗体发送销售信息到控制器。

我的问题是什么是做这个任务

我使用网格和一个小窗体中添加销售在网格中要张贴与用户信息网格的最佳途径。我不知道如何做到这一点。

请建议我做这个任务的最好方法。或者我正在使用如何使用用户信息发布销售的方式。

这是我要发布这种形式

Click Image to see

+0

请参阅[这个答案](http://*.com/questions/28019793/submit-same-partial-view-called-multiple -times-data-to-controller/28081308#28081308)。和[这个答案](http://*.com/questions/40539321/a-partial-view-passing-a-collection-using-the-html-begincollectionitem-helper/40541892#40541892)更详细的例子使用'BeginCollectionItem'方法 –

如果你需要插入,因为我认为你必须创建隐藏的输入列表中的每个用户多描述的方式(使用jQuery你可以选择另一个插件或纯Java脚本)

<form> 
    <input id="username" name="username" /> 
    <input type="button" value="Add" id="btnAdd" /> 
    <table id="saleTable"> 
     <tbody></tbody> 
    </table> 
    <input type="submit" value="submit" /> 
    <div id="inputContainer"> 
    </div> 
</form> 

<script> 
    var index = 0; 
    $("#btnAdd").on("click", function() { 
     var saleDesc = $("#saleDesc").val(); 
     $("#inputContainer").append('<input type="hidden" value="' + saleDesc + '" name="Sales[' + index + '].Description" />'); 
     $("#saleTable tbody").append('<tr><td> ' + saleDesc + '</td></tr>'); 
     index++; 
    }); 
</script> 

上面的代码将与以下视图模型

public class User 
{ 
    public long Id { get; set; } 
    public string Username { get; set; } 
    public List<Sale> Sales { get; set; } 
} 

public class Sale 
{ 
    public long Id { get; set; } 
    public string Description { get; set; } 
} 
01工作

和之后点击提交按钮,您会收到控制器数据

public ActionResult Receive(User model) 
{ 
    //Save data... 
    return View() 
}