------前台JS

"<input class=\'jTabCheck2\' type=\'checkbox\' partvguid=" + obj + " projectvguid=" + projectVGUID + " reportvguid=" + reportVGUID + ">"    //给CheckBox 添加三个自定义属性值

var partvguid = $("#input[type='checkbox']”).attr("partvguid");
var projectvguid = $("#input[type='checkbox']”).attr("projectvguid");
var reportvguid = $("#input[type='checkbox']”).attr("reportvguid");

//创建对象

var array = new Array();

var model = new Object();
model.partvguid = partvguid;
model.projectvguid = projectvguid;
model.reportvguid = reportvguid;
array.push(model);
}

var list = JSON.stringify(array);

$.ajax({
type: "post",
data: { "list": list },
url: "/Completed_Report/SubmitData",
success: function (msg) {
debugger;
if (msg.isSuccess == true || msg.isSuccess == "True" || msg.isSuccess == "true") {
$.jBox.tip(msg.respnseInfo);
$$$.bindDataList();
} else {
$.jBox.tip(msg.respnseInfo);
}
}, error: function (msg) {
console.log(msg);
}
})

----------C#后端获取

//控制器

[HttpPost]
public JsonResult SubmitData(string list)
{
ActionResultModel<string> result = new ActionResultModel<string>();
List<ReportInfo> dataList;
dataList = JSONToData.JsonToModel<List<ReportInfo>>(list);
string partList = "";
for (int i = 0; i < dataList.Count();i++ )
{
partList += dataList[i].partvguid.ToString();
}

List<Guid> vguidLists = SmartLabExtends.ToGuidList(partList);
bool flag = reportService.ValidateData(vguidLists);
if (flag)
{
string msg = reportService.SubmitData(dataList);
if (msg== "1")
{
result.isSuccess = true;
result.respnseInfo = "Submit Success";
}
else
{
result.isSuccess = false;
result.respnseInfo = "Submit Failed";
}
}
else
{
result.isSuccess = false;
result.respnseInfo = "The record status can not submit";
}
return Json(result);
}

//拓展类

public static class JSONToData
{

public static TEntity JsonToModel<TEntity>(this string json)
{
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
jsSerializer.MaxJsonLength = Int32.MaxValue;
return jsSerializer.Deserialize<TEntity>(json);
}
}

//实体类

public class ReportInfo
{
public string partvguid { get; set; }
public string projectvguid { get; set; }
public string reportvguid { get; set; }
}

js Checkbox 传递多个值给后台的更多相关文章

  1. js checkbox获取选中的值

    //将选择标签 var addCode = function () { var codes = []; var elements = document.getElementsByName(" ...

  2. MVC 从后台页面 取前台页面传递过来的值的几种取法

      MVC 从后台页面 取前台页面传递过来的值的几种取法   <1>前台页面 Index视图 注意:用户名表单的name值为txtName 密码表单的name值为txtPassword & ...

  3. js 参数的 引用与值传递

    js中arr的赋值不影响原数组,赋值和引用的区别 1.赋值 var a = 1; var b = a;   //赋的是a的复制值 b ++; alert(a);   //"1"   ...

  4. JS 如何获取radio或者checkbox选中后的值

    废话不多说,直接上代码: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  5. vue.js 同级组件之间的值传递方法(uni-app通用)

    vue.js 兄弟组件之间的值传递方法 https://blog.csdn.net/jingtian678/article/details/81634149

  6. js 数组赋值问题 :值传递还是引用?

    转载于知乎var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过... 当时直接的理解,数组 ...

  7. Js前端传递json数组至服务器端并解析的实现。

    最近做的一个小项目中需要将json数组数据传递到服务器端进行保存,现分享一下解决思路. 环境:EasyUi+Mvc 4.0 如下: 在上述截图中的红色圈起来的部分,需要在点击保存后通过一次ajax请求 ...

  8. ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用

    1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...

  9. Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合

    今天为大家分享下 Asp.net MVC 将数据从前台传递到后台的几种方式. 环境:VS2013,MVC5.0框架 1.基本数据类型 我们常见有传递 int, string, bool, double ...

随机推荐

  1. 使用rem设计移动端自适应页面三(转载)

    使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...

  2. html5 canvas+js实现ps钢笔抠图

    html5 canvas+js实现ps钢笔抠图 1. 项目要求需要用js实现photoshop中钢笔抠图功能,就用了近三四天的时间去解决它,最终还是基本上把他实现了. 做的过程中走了不少弯路,最终一同 ...

  3. EF的四种开发模式

    EF提供了四种开发模式,具体如下:(转载)Code First(New DataBase) :在代码中定义类和映射关系并通过model生成数据库,使用迁移技术更新数据库.Code First(Exis ...

  4. MFC双缓冲和裁剪问题导致闪烁

    问题描述: 应用场景:在对话框中,自定义一个MFC图形控件(为了描述方便,暂定为HSPaintControl),控件覆盖整个对话框的客户区,属于最底层的控件,在这之上放置了很多其他的小图形控件. 问题 ...

  5. boost------ref的使用(Boost程序库完全开发指南)读书笔记

    STL和Boost中的算法和函数大量使用了函数对象作为判断式或谓词参数,而这些参数都是传值语义,算法或函数在内部保修函数对象的拷贝并使用,例如: #include "stdafx.h&quo ...

  6. Knockout 可扩展性

    你需要知道的顶级特性 Knockout 最棒的一个特点就是它的可扩展性.Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序.许多开发者除了 Knockout 核心库之外没有使用任何 ...

  7. [置顶] 学习JDK源码:可进一步优化的代码

    1.参数化类型的构造函数比较啰嗦 new HashMap<String, List<String>>() 如果你调用参数化类的构造函数,那么很不幸,你必须要指定类型参数,即便上 ...

  8. 单一职责原则SRP

    定义: There should nerver be more then one reason for a class to change. 优点: 1.类的复杂性降低,实现什么职责都有清晰明确的定义 ...

  9. AOP in Spring

    AOP in Spring 是不是已经对包裹在每个业务周围的异常处理.事务管理.性能监控.日志记录等重复出现的代码感到厌倦,那么是时候轮到AOP出场了.不得不承认程序员的惰性有时候会是一件好事(毕竟提 ...

  10. lucene 查询+分页+排序

    lucene 查询+分页+排序 1.定义一个工厂类 LuceneFactory 1 import java.io.IOException; 2 3 import org.apache.lucene.a ...