博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC动态添加文本框,后台使用FormCollection接收
阅读量:6680 次
发布时间:2019-06-25

本文共 1660 字,大约阅读时间需要 5 分钟。

在""中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收。使用FormCollection也可以接收来自前台的多个TextBox值。实现效果如下:

动态添加TextBox:

 

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

 

当页面没有TextBox,点击"移除",提示"没有文本框可被移除":

 

在HomeController中,先获取前台用来计数的隐藏域的值,然后遍历,根据前台Input的name属性值的命名规则获取到每个TextBox的值。

public class HomeController : Controller    {        public ActionResult Index()        {            return View();        }        [HttpPost]        public ActionResult Index(FormCollection collection)        {            var inputCount = 0; //前端文本框的数量            var inputValues = new List
();//前端文本款的值放到这个集合 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";}
@if (TempData["InputResult"] != null) {
    @foreach (var item in (List
    ) TempData["InputResult"]) {
  • @item
  • }
}
@using (Html.BeginForm("Index", "Home", FormMethod.Post)){

@Html.Hidden("TextBoxCount", 1)
}@section scripts{ }

 

参考资料:

转载地址:http://mmnao.baihongyu.com/

你可能感兴趣的文章
随笔——学习的一些步骤及注意点(不断更新)
查看>>
16款最受关注的智能手表 苹果iWatch领衔
查看>>
大数据应用之HBase数据插入性能优化实测教程
查看>>
static_cast ,reinterpret_cast
查看>>
win7 下恢复“经典任务栏”/“快速启动栏”,关闭“窗口自动最大化” -摘自网络...
查看>>
自定义事件
查看>>
Json.Net系列教程 4.Linq To JSON
查看>>
数据结构(c语言版)文摘
查看>>
【转】用SQL实现树的查询
查看>>
绘图 Painter转接口封装的方式
查看>>
linux kill 关闭进程命令
查看>>
百度BAE环境下WordPress搭建过程
查看>>
struct ifreq 获取IP 和mac和修改mac
查看>>
twitter storm源码走读之4 -- worker进程中线程的分类及用途
查看>>
apache + tomcat 集群
查看>>
C# ComboBox自动完成功能的示例
查看>>
VC++6.0和VS2005在编写MFC应用程序时,操作方面的差异
查看>>
从tableview中拖动某个精灵
查看>>
AE读取CAD图层包括注记
查看>>
误区30日谈16-20
查看>>