//MVC后台传dt数据

public JsonResult TeacherVoteInfo([FromBody]Teacher_VoteModel model)
{
string tname = model.Tname;
string sqlall = @"SELECT top 40 Tname,sh.SchoolName,Vote_Count,ROW_NUMBER() over (order by Vote_Count desc) as number FROM dbo.Teacher t INNER JOIN dbo.School sh ON sh.Id=t.SchoolId ";
DataTable dtall = DbHelper.GetQuery(sqlall);
string sql = @"SELECT top 40 Tname,sh.SchoolName,Vote_Count FROM dbo.Teacher t INNER JOIN dbo.School sh ON sh.Id=t.SchoolId ";
if (!string.IsNullOrEmpty(tname))
{
sql += " and (t.Tname like '%" + tname + "%' or sh.SchoolName like '%" + tname + "%')";
}
sql += " order by Vote_Count desc";
DataTable dt = DbHelper.GetQuery(sql);
#region 让datatable转化为json格式
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();//
javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
ArrayList arrayList = new ArrayList();
dt.Columns.Add("number", typeof(string));
Hashtable hd = new Hashtable();

for (int i = 0; i < dtall.Rows.Count; i++)
{
string key = dtall.Rows[i]["Tname"].ToString() + dtall.Rows[i]["SchoolName"].ToString();
hd.Add(key, dtall.Rows[i]["number"]);

}
for (int k = 0; k < dt.Rows.Count; k++)
{
foreach (System.Collections.DictionaryEntry de in hd)
{
if (de.Key.ToString() == dt.Rows[k]["Tname"].ToString() + dt.Rows[k]["SchoolName"].ToString())
{
//DataRow dr = dt.NewRow();
//dr["number"] = de.Value;
//dt.Rows.Add(dr);
dt.Rows[k]["number"] = de.Value;
break;//退出foreach遍历
}
}
}

foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合
foreach (DataColumn dataColumn in dt.Columns)
{

dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString());
}
arrayList.Add(dictionary); //ArrayList集合中添加键值
}
string html = javaScriptSerializer.Serialize(arrayList);
#endregion
JsonResult json = Json(html, JsonRequestBehavior.AllowGet);
return json;
}

//前台传值到后台

var formParam = $("#registlog").serialize();//序列化表格内容为字符串
$.ajax({
type: "post",
url: "/Teacher/TeacherVoteSecond",
data: formParam,
datatype: "json",
success: function (response) {
if (response.Data.Result == "success") {
alert(response.Data.Message);
window.location.href = "/Teacher/TeacherPrizes";
} else {
alert(response.Data.Message);
}
}
});

////////////////////////

public ActionResult TeacherVoteSecond([FromBody]TeacherVoteSecond request)    //[FromBody]TeacherVoteSecond   必须是传过来的类的名称大小吻合
{

}

MVC后台传dt数据的更多相关文章

  1. mvc后台传到前台的值带html标签css(解决方法)

    mvc后台传到前台的值带html标签css MVC中要用:@Html.Raw(后台数据库取的值); 或者MvcHtmlString.create();

  2. json:java中前台向后台传对象数据

    前台传入的是一个json类型的数据,如何在后台解析成想要的数据类型? 例如: 后台获取了前台一个string类型的数据@RequestParam(value = "forceUpgradeT ...

  3. C# mvc后台传过来的list 怎么在js使用

    var arr= JSON.parse('@Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize( ...

  4. 解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题)

    解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题) 出现这个问题的原因是因为后台传给前台的数据出现了问题,ajax对于json的格式特别的严格 下面是会出现这个问题的 ...

  5. html表单通过关联数组向php后台传多条数据并遍历输出

    通过表单向php后台传多条数据,以关联数组方式呈现,废话不多说,代码附上: html表单代码,方式我设置为get: <form action="php/cart.php" m ...

  6. Echart实现多个y轴,坐标轴的个数及名称由后台传过来的json数据决定。

    yAxis: function(){ var yAxis=[]; for(var i=0;i<legend1.length;i++){ var item={ name:legend1[i], t ...

  7. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  8. 修改后台传过来的json数据中对象的属性

    前言 今天在实习中遇到的一个小问题,后端传过来的一个json数据结构,但是对象中的属性名跟我需要的不一样(因为我是渲染echarts中的数据,属性名要一样) 这是后台传过来的数据: 需求是我需要把属性 ...

  9. ASP.NET MVC上传文件----uploadify的使用

    课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...

随机推荐

  1. Mysql 列转行统计查询 、行转列统计查询

      -- ---------------------------- -- Table structure for `TabName` -- ---------------------------- D ...

  2. SaltStack之Job管理和Runner(八)

    SaltStack之Job管理和Runner 配置文件/etc/salt/master cachedir: /var/cache/salt/master # cache路径 keep_jobs: 24 ...

  3. cocos2d 3.6 win7下的配置

    我搭建cocos2.6的开发环境需要安装工具包括: 1.Visual Studio 2012(由于不兼容win7,需要安装Update 4)和虚拟光驱daemon tool,虚拟光驱的下载地址:htt ...

  4. git push to nas

    1 建nas目录 在nas的/volume1/git_repos目录下新建相关的目录,并在该目录下运行git init --bare cd /volume1/git_repos mkdir wifi_ ...

  5. Linux查看CPU和内存使用情况

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  6. 中缀表达式转后缀表达式(用于求字符串表达式值)(js栈和队列的实现是通过数组的push和unshift方法插值,pop方法取值)

    中缀表达式:就是我通常用的算术或逻辑公式: 后缀表达式:不包含括号,运算符放在两个运算对象后面,所有的计算按运算符出现的顺序,严格从左向右进行,不用考虑运算符优先级: 如,(2+1)*3 转换后,2 ...

  7. cobbler自动安装脚本

    #!/bin/sh #coding=utf8 ################################################################## #将如下IP修改成你 ...

  8. cmake 编译 c++ dll 的一个例子

    CMakeLists.txt project(xxx) add_library(xxx SHARED xxx.cpp) add_executable(yyy yyy.cpp) target_link_ ...

  9. IOS下自定义click事件使用alert引发的血案

    使用过iscroll插件的同学都知道iscroll支持自定义事件,即在调用iscroll时参数赋值options.click = true. 接下来定义事件如: $clinicAppoint.on(' ...

  10. Android studio 的初始设置

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...