如何将动态文本框生成的可选值传递给数据库

时间:2017-06-07 06:00:16

标签: c# asp.net-mvc entity-framework

我有一个表单根据用户要求动态填充文本框。我想获取这些文本框的值并将其传递给数据库。

View

我正在使用实体框架,我在其中创建了一个模型来接受来自View的值。

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Required]
    public int Id { get; set; }
    [Required]
    public List<string> Question { get; set; }
    [Required]
    public string Intent { get; set; }
    [Required]
    public string Entity { get; set; }
    [Required]
    public string Answer { get; set; }

在这种情况下,我的模型是静态的。数据库如何将值映射到List&lt;&gt;中的列? ?

Ps:我正在使用Code first方法!

1 个答案:

答案 0 :(得分:1)

您可以通过循环遍历列表并使用所需名称填充输入来将对象列表绑定到文本框或具有名称约定的任何其他控件,例如:

    @for (int i = 0; i < Model.Questions.Count; i++)
    {
    @Html.TextBoxFor(x=>Model.Questions[i]) 
    }

或通过这种方式

for(int i=0;i<Model.Questions.Count;i++)
{
<input type='text' name="Questions[@i]" />
}

您可以在以下网址找到更多信息:

https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding

http://www.c-sharpcorner.com/UploadFile/4b0136/introduction-to-model-binding-in-Asp-Net-mvc/