MVC5中使用jQuery Post 二维数组和一维数组到Action
很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目。之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来。MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看。遇到的第一个问题是一个列表页保存排序时传二维数组的问题。以下是我的代码:
jQuery("#btnSave").click(function () {
var list = [];
jQuery("#lists>tbody>tr").each(function (i) {
list.push({ "id": this.cells[].children.hidId.value, "sort": this.cells[].children[].children[].children.txtSortId.value });
});
jQuery.ajax({
type: "post",
url: "@Url.Action("NavSaveSortId", "Setting")",
data: jQuery.param({ sortinfo: list }),
dataType: "json",
traditional: true,
success: function (data) {
var json = eval("(" + data + ")");//必须加否则字符串不能序列化成json
jQuery.gritter.add(json);
},
error: function (data) {
console.debug(data);
}
});
});
以上传过去的数据格式是一个数组类型,里面包括了id,sort属性。
后台action接收代码为:
[HttpPost]
public JsonResult NavSaveSortId(Dictionary<string, string>[] sortinfo)
{
for (int i = ; i < sortinfo.Length; i++)
{
int id = Convert.ToInt32(sortinfo[i]["id"].ToString());
int sortId;
if (!int.TryParse(sortinfo[i]["sort"].ToString().Trim(), out sortId))
{
sortId = ;
}
client.UpdateField(id, "sort_id=" + sortId.ToString());
}
}
以上就是传输数组后台用Dictionary接收参数的实例。当然在实际使用时请记得加上安全验证以及数据校验。
然后在项目里面还用到了一个传输一维数组的功能这里也记录出来,代码和上面的类似,但是这个功能是用在批量删除的。
jQuery("#btnDelete").click(function () {
bootbox.confirm("确认要删除选中的记录吗?", function (result) {
if (result) {
var idarry = [];
jQuery("#lists>tbody>tr").each(function (i) {
console.debug(this.cells[].children[].children[].checked);
if (this.cells[].children[].children[].checked) {
idarry.push(this.cells[].children.hidId.value);
}
});
jQuery.ajax({
type: "post",
url: "@Url.Action("NavDel", "Setting")",
data: { ids: idarry },
dataType: "json",
traditional: true,
success: function (data) {
var json = eval("(" + data + ")");//必须加否则字符串不能序列化成json
jQuery.gritter.add(json);
},
error: function (data) {
console.debug(data);
}
});
}
});
});
这个数组应该比上面那种更常见后台接收就不需要用Dictionary。直接用数组string[]接收就可以了:
[HttpPost]
public JsonResult NavDel(string[] ids)
{
//逻辑处理····
}
其实在开发中还遇到了很多问题,可能是我第一次接触mvc。不过真的用了mvc之后确实不太愿意用webform了。欢迎各位感兴趣的同学们一起来交流学习
转载请注明:放肆雷特 » MVC5中使用jQuery Post 二维数组和一维数组到Action
MVC5中使用jQuery Post 二维数组和一维数组到Action的更多相关文章
- C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?
如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组int row = array. ...
- php - 二维数组转一维数组总结
二维数组转一维数组总结 例如将如下二位数组转以为以为一维数组 $records = [ [ 'id' => 2135, 'first_name' => 'John', 'last_name ...
- [PHP]快速实现:将二维数组转为一维数组
如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...
- numpy基础教程--将二维数组转换为一维数组
1.导入相应的包,本系列教程所有的np指的都是numpy这个包 1 # coding = utf-8 2 import numpy as np 3 import random 2.将二维数组转换为一维 ...
- 从txt文件中读取数据放在二维数组中
1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.030000 ...
- 论C语言中二级指针和二维数组之间的区别
刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组.很显然这是错误的. 我们来看看C语言的数组在内存中的存储方式. 实际上C语言中的数组, ...
- php中foreach循环遍历二维数组
最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题 (因为 ...
- thinkphp中配置信息的二维数组设置与使用
有时候配置信息是二维数组 1.配置 <?php return array ( // 阿里大鱼短信配置 'dayu_appkey'=>'xxx', 'dayu_secretKey'=> ...
- JAVA中如何创建一个二维数组,然后给二维数组赋值!
普通的赋值是:int[][] i = {{1,2,3},{2,3,4},{1,3,4}}; 如果是其他情况可以这样:比如: import java.util.* public class TT(){ ...
随机推荐
- 加速和简化构建Docker(基于Google jib)
赵安家 2019年02月11日阅读 1518 关注 加速和简化构建Docker(基于Google jib) 介绍 其实jib刚发布时就有关注,但是一直没有用于生产,原因有二 基于 spotify/do ...
- bzoj 2791 [Poi2012]Rendezvous 基环森林
题目大意 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问,每组询问由两个顶点a.b组成,要求输出满足下面条件的x.y: 从顶点a沿着 ...
- 洛谷 [P2887] 防晒霜
贪心 首先以 miSPF 为关键字降序排列,然后对于每一头奶牛寻找满足范围的 SPF 值最大的防晒霜用, 我们发现,因为已经按最小值降序排列,所以对于下界来说若当前奶牛满足,之后的奶牛肯定满足,对上界 ...
- JAVA课程设计---多源教学数据管理系统
1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2.个人负责模块或任务说明 (1)到控制台实现GUI界面中浏览文件并选取文件的功能. ...
- struts中json机制与普通页面跳转机制混用(全局结果集配置返回json)
package继承json-default与struts-default 返回结果是add的话将addResult属性转换为json返回(addResult属性有getter,setter方法),返回 ...
- set up trace code tool
這以 GNU GLOBAL 6.5.6 為示範 1: install GNU GLOBAL https://www.gnu.org/software/global/download.html sudo ...
- macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- py2exe使用方法 (含一些调试技巧,如压缩email 类)
http://justcoding.iteye.com/blog/900993 一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样, ...
- idea http请求的插件(测试接口方便)
http://blog.csdn.net/winter_chen001/article/details/77249029
- UVA - 10050 Hartals
#include <cstdio> #include <cstring> ]; ]; int main() { int t; scanf("%d", &am ...