javascript - 将动态生成的文本框值传递给 ASP.NET MVC 中的 Controller

标签 javascript c# jquery asp.net asp.net-mvc

我有一些表单,我想在点击 + 按钮时自动生成新的文本框,然后我想将它提交给 Candidates Controller 中的 CandidateRegister 操作方法。

@model SourceTreeITMatchmaking.Models.CandidateRegisterViewModel

候选人 View

@using (Html.BeginForm("CandidateRegister", "Candidates"))
{
     <div id="myTechnologies">
             <div class="row">
                   <div class="col-sm-6" style="padding-left: 0;">
                       @Html.TextBoxFor(m => m.SelectedMyTechnologies.Technology, new {@class="form-control", placeholder="C#, Java, Sql Server..."})
                    </div>
              </div>
        </div>
        <hr class="mt60">
        <div class="clearfix">
                 <input type="submit" class="btn btn-default btn-large pull-right" value="Register candidate!">
        </div>
}

在 (+) 按钮点击时添加新文本框的 jQuery 函数

$("#add-technology-candidate").click(function () {
    var firstDiv = $(' <div class="row"> <div class="col-sm-6" style="padding-left: 0;"> ' +
        ' <input type="text" class="form-control" placeholder="C#, Java, Sql Server..." /> </div>');
    $("#myTechnologies").append(firstDiv.append(deleteButton));
});

我用于强类型模型的 CandidateRegisterViewModel 的一个属性

public class CandidateRegisterViewModel
{
    public SelectedMyTechnologies SelectedMyTechnologies { get; set; }
}

/我在 CandidateRegisterViewModel 中使用的属性/

public class SelectedMyTechnologies
{
        public List<string> Technology { get; set; }
}

长话短说-> 我想在单击 (#add-technology-candidate) 按钮时生成文本框,然后将用户输入的数据作为列表传递给我的 Controller 。正如我现在的代码一样,我只能从第一个文本框(不是动态生成的文本框)传递数据。我应该如何更改 jQuery 方法以支持这两种类型?

提前致谢。

最佳答案

因为你的属性(property)是List<string>你可以给动态创建的文本框一个匹配属性的名称属性

 <input type="text" name="SelectedMyTechnologies.Technology" ... />

请注意,这仅适用于 string 的集合或值类型。对于复杂对象的集合,您需要按照 this answer 包括索引器

关于javascript - 将动态生成的文本框值传递给 ASP.NET MVC 中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921024/

相关文章:

javascript - 如何获取asp.net中的行数并将asp.net行数传输到javascript?

javascript - 是否可以使用 require.js 将非模块 *.js 文件设置为依赖项

javascript - 如何将 casper 与任何存储链接起来

javascript - Laravel 和 Angular(JS),Angular 从哪里开始?

c# - Winforms MVVM GridView 数据绑定(bind)

jquery - 使用 JQuery 将焦点设置在基于 CSS 类的文本框上

javascript - 将变量分配给变化的div

c# - 如何更新sql server表中的选择性行?

c# - 如何在 C# 中将 Dim 代码编写为 New System.Windows.Forms.Binding ("text", Me.bindingSource1, "ATMCode", True)

Jquery/CSS,如何拥有和访问多个(左)面板,同时自动调整主要内容容器