国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值

瀏覽:291日期:2022-06-08 13:44:26

在"MVC批量添加,增加一條記錄的同時添加N條集合屬性所對應的個體"中,對于前臺傳來的多個TextBox值,在控制器方法中通過強類型來接收。使用FormCollection也可以接收來自前臺的多個TextBox值。實現(xiàn)效果如下:

動態(tài)添加TextBox:

后臺使用FormCollection接收來自前臺的TextBox值,再以TempData把接收到的值返回:

當頁面沒有TextBox,點擊"移除",提示"沒有文本框可被移除":

在HomeController中,先獲取前臺用來計數(shù)的隱藏域的值,然后遍歷,根據(jù)前臺Input的name屬性值的命名規(guī)則獲取到每個TextBox的值。

    public class HomeController : Controller    {public ActionResult Index(){    return View();}[HttpPost]public ActionResult Index(FormCollection collection){    var inputCount = 0; //前端文本框的數(shù)量    var inputValues = new List<string>();//前端文本款的值放到這個集合    if (int.TryParse(collection["TextBoxCount"], out inputCount))    {for (int i = 1; i <= inputCount; i++){    if (!string.IsNullOrEmpty(collection["textbox" + i]))    {inputValues.Add(collection["textbox" + i]);    }}    }    TempData["InputResult"] = inputValues;    return View();}    }

在Home/Index.cshtml中,通過jquery添加或移除TextBox。

@{    ViewBag.Title = "Index";    Layout = "~/Views/Shared/_Layout.cshtml";}<div>    @if (TempData["InputResult"] != null)    {<ul>    @foreach (var item in (List<string>) TempData["InputResult"])    {<li>@item</li>    }</ul>    }</div>@using (Html.BeginForm("Index", "Home", FormMethod.Post)){    <div><div id="TextBoxesGroup">    <input type="text" id="textbox1" name="textbox1"/></div><hr/>@Html.Hidden("TextBoxCount", 1)<input type="button" value="添加" id="add"/><input type="button" value="移除" id="remove"/><input type="submit" value="提交"/>    </div>}@section scripts{    <script type="text/javascript">$(document).ready(function() {    //默認焦點    $("#textbox1").focus();    //點擊添加    $("#add").click(function() {//從隱藏域中獲取當前文本框的數(shù)量var currentCount = parseInt($("#TextBoxCount").val(), 10);//文本框數(shù)量加1var newCount = currentCount + 1;//創(chuàng)建新的文本框var newInput = $(document.createElement("Input")).attr({    "type": "text",    "id": "textbox" + newCount,    "name": "textbox" + newCount});//把新的文本框附加到區(qū)域中$("#TextBoxesGroup").append(newInput);//把當前文本框的數(shù)量賦值到用來計數(shù)隱藏域$("#TextBoxCount").val(newCount);//把焦點轉(zhuǎn)移到新添加的文本框中來$("#textbox" + newCount).focus();    });    //點擊移除    $("#remove").click(function() {//從隱藏域中獲取當前文本框的數(shù)量var currentCount = parseInt($("#TextBoxCount").val(), 10);if (currentCount == 0) {    alert("已經(jīng)沒有文本框可以被移除了~~");    return false;}//移除當前文本框$("#textbox" + currentCount).remove();//把新的文本框計數(shù)賦值給隱藏域var newCount = currentCount - 1;$("#TextBoxCount").val(newCount);    });});    </script>}

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

標簽: ASP.NET
相關(guān)文章:
主站蜘蛛池模板: 纳雍县| 赫章县| 井陉县| 栖霞市| 平昌县| 清徐县| 平山县| 清徐县| 京山县| 余庆县| 舟曲县| 澜沧| 阿拉善左旗| 安达市| 灌南县| 临江市| 黔西| 赤壁市| 汶上县| 综艺| 洞口县| 葵青区| 维西| 金昌市| 陵川县| 若羌县| 瑞金市| 枣庄市| 六盘水市| 大厂| 广河县| 石阡县| 铁岭县| 庆安县| 雅安市| 汾西县| 格尔木市| 将乐县| 乾安县| 高淳县| 尼玛县|