簡體   English   中英

將動態生成的文本框值傳遞給ASP.NET MVC中的控制器

[英]Passing dynamically generated textbox values to controller in ASP.NET MVC

我有一些表單,我想在+按鈕點擊時自動生成新的文本框,然后我想將它提交給Candidates控制器中的CandidateRegister操作方法。

@model SourceTreeITMatchmaking.Models.CandidateRegisterViewModel

候選人查看

@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)按鈕上單擊生成文本框,然后將用戶輸入的數據作為列表傳遞給我的控制器。 由於我的代碼現在是,我只能從第一個文本框傳遞數據(不是動態生成的)。 我應該如何更改jQuery方法以支持這兩種類型?

提前致謝。

由於您的屬性是List<string>您可以為動態創建的文本框提供與該屬性匹配的name屬性

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

請注意,這僅適用於string或值類型的集合。 對於復雜對象的集合,您需要根據此答案包含索引器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM