日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net Mvc表单提交之List集合

發(fā)布時間:2025/3/15 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net Mvc表单提交之List集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、說明

1.Asp.Net Mvc中Action的參數(shù)可以自動接收和反序列化form表單的值,

2.對于name=value類型,只要Action參數(shù)的變量名和input的name相同就行,不區(qū)分大小寫

3.對于Model類型的,只要Action參數(shù)Model的字段名和input的name相同就行,不區(qū)分大小寫

4.對于List類型,如下

二、List 基礎數(shù)據(jù)類型提交

Html代碼

<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List 基礎數(shù)據(jù)類型提交</div></div><div class="panel-body"><form action="@Url.Action("TestOne")" method="post"><div class="form-group"><input name="name" value="張三" /></div><div class="form-group"><input name="name" value="李四" /></div><input class="btn btn-success" type="submit" value="提交" /></form></div> </div>

Action接收

public JsonResult TestOne(List<string> name) {return Json(name); }

參數(shù)傳遞:

顯示結果:

三、List<Model>類型提交json數(shù)組

<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List&lt;Model&gt; 數(shù)據(jù)類型提交(一)</div></div><div class="panel-body"><form action="@Url.Action("TestTwo")" method="post"><table><thead><tr><th>ID</th><th>Name</th></tr></thead><tbody><tr><td><input name="ID" value="1" /></td><td><input name="Name" value="張三" /></td></tr><tr><td><input name="ID" value="2" /></td><td><input name="Name" value="李四" /></td></tr></tbody></table><input type="submit" class="btn btn-success" id="submit1" value="提交" /></form></div> </div>

使用Ajax提交

$('#submit1').click(function () {var form = $(this).parents('form');var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});$.post(form.attr('action'), {stuList: result, //直接提交json數(shù)組}, function (data) {alert(data);});return false;});

后臺action接收處理

public JsonResult TestTwo(List<Student> stuList) {return Json(stuList); }

參數(shù)傳遞:

?

四、List<Model>類型提交之json數(shù)組字符串

HTML內(nèi)容同上,

整合json數(shù)組,以字符串格式傳遞

$('#submit2').click(function () {var form = $(this).parents('form');var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //沒2(對象的屬性個數(shù))個位一組,整合到一個對象中if (!result[stu_i])result[stu_i] = {}; //初始化數(shù)組中的對象result[stu_i][item['name']] = item['value'];}console.info(result);$.post(form.attr('action'), {stuList: JSON.stringify(result), //提交json字符串,后臺自己反序列化other: 'test'}, function (data) {alert(data);});return false; });

action后臺參數(shù)接收處理

public JsonResult TestThree(string stuList, string other = "沒有內(nèi)容") {//自己反序列化處理,更靈活處理List<Student> list = JsonConvert.DeserializeObject<List<Student>>(stuList);return Json(new { stu = list, other = other }); }

參數(shù)傳遞:

返回結果:

特別說明

提交的Josn數(shù)組整合方式1:從頁面dom中獲取

//處理方式1,從頁面獲取值 var result = []; form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()}) });

整合方式2:從表單的序列化數(shù)組中獲取

var result = []; var data = form.serializeArray(); for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //沒2(對象的屬性個數(shù))個位一組,整合到一個對象中if (!result[stu_i])result[stu_i] = {}; //初始化數(shù)組中的對象result[stu_i][item['name']] = item['value']; } console.info(result);

?

更多:

通過Url傳多個參數(shù)方法

Asp.Net MVC是否針對每次請求都重新創(chuàng)建一個控制器實例

ASP.Net MVC 之FileResult

轉(zhuǎn)載于:https://www.cnblogs.com/tianma3798/p/6638837.html

總結

以上是生活随笔為你收集整理的Asp.Net Mvc表单提交之List集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。