ASP.NET MVC 表单提交数组和泛型集合的方法

在ASP.NET MVC的网站项目中,一般表单提交都是提交单个字段,很少提交数组和集合形式的数据。本文介绍在ASP.NET MVC中,表单提交数组和泛型集合的方法。

在以往HTML中,提交form表单的数据都是根据输入控件的name属性来作为提交数据的命名区分,一个提交的数据字段对应一个name命名。在ASP.NET MVC中,我们可以获取表单中所提交的数组和泛型集合形式的数据,只要将表单中输入控件的name属性都设置一样,这样就可以提交数组和集合形式的数据。

这里建立一个测试项目来作为范例,使用VS2013建立一个MVC项目后,在默认Home控制器的Index视图模板中添加表单提交的代码。前台View视图代码如下(这里提交两组数据,一组是网址列表和备注信息列表,提交到ShowSubmitDate这个活动中):

@using (Html.BeginForm("ShowSubmitData", "Home"))
{ 
    <div>
        <h3>网址列表(数组获取提交数据,name=Urls)</h3>
        <ul>
            <li><input type="text" name="Urls" value="https://shiyousan.com" /></li>
            <li><input type="text" name="Urls" value="https://shiyousan.com/sitemap.xml" /></li>
            <li><input type="text" name="Urls" value="http://siyousan.com/p1" /></li>
            <li><input type="text" name="Urls" value="http://siyousan.com/p2" /></li>
            <li><input type="text" name="Urls" value="http://siyousan.com/p3" /></li>
        </ul>
        <hr />
        <h3>备注信息列表(泛型集合获取提交数据,name=Remarks)</h3>
        <ul>
            <li><input type="text" name="Remarks" value="备注1:11111" /></li>
            <li><input type="text" name="Remarks" value="备注2:22222" /></li>
            <li><input type="text" name="Remarks" value="备注3:33333" /></li>            
        </ul>
        <br />
        <input type="submit" value="表单提交数据"/>
    </div>
}

我们在后台建立一个ShowSubmitDate活动,建立好后再建立ShowSubmitDate的View(空的视图模板就可以)。后台控制器代码如下:

        /// <summary>
        /// 显示提交的数据
        /// </summary>
        /// <param name="Urls"></param>
        /// <param name="Remarks"></param>
        /// <returns></returns>
        public ActionResult ShowSubmitData(string[] Urls, List<string> Remarks)
        {
            foreach (string url in Urls)
            {
                Response.Write(url);
                Response.Write("<hr/>");
            }
            foreach (string reamrk in Remarks)
            {
                Response.Write(reamrk);
                Response.Write("<hr/>");
            }
            return View();
        }

这里我们可以看到在ShowSubmitDate活动中,我们可以获取表单提交的数组和泛型集合数据。这里我们使用Response.Write将获取到的数据显示在界面上。要注意的是:活动中的方法参数名称要和表单中输入控件的name属性一致,这样才能正确获取表单提交上来的数组和泛型集合数据。

最终显示界面和结果如下:

1、默认Home控制器中的Index视图

MVC表单提交数组界面截图

2、提交表单后ShowSubmitDate视图显示的内容

ASP.NET MVC 提交数组表单的演示结果




原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98319.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论