//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. OS X: Messages Agent wants to use the "login" keychain

    问题: 启动mac电脑后弹出对话框,内容是Messages Agent wants to use the "login" keychain.无法取消. 首先说下keychain是什 ...

  2. linux 驱动入门4

    不吃苦中苦,难为人上人.努力,给老婆孩子提供个良好的生活居住环境.http://www.cnblogs.com/nan-jing/articles/5806399.html上文提到了如何创建proc节 ...

  3. PHP 数据库抽象层pdo

    PDO是PHP数据对象(PHP Data Object)的缩写. pdo就是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得数据库 ...

  4. nginx主备配置

    添加配置: proxy_next_upstream error timeout invalid_header http_500 http_503 http_502; upstream http.wea ...

  5. JAVA第三周课后作业

    JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main( ...

  6. 20145212《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDE)

    20145212<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDE) 实验内容及步骤 1.命令行下的JAVA程序开发 建立并进入实验目录: 撰写简单的Hello ...

  7. Linux下开发常用 模拟 Http get和post请求

    1.get请求 curl "http://www.baidu.com"      如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "htt ...

  8. UITableViewCell的separator分隔线设置失效

    // 处理separator -(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSe ...

  9. sql server 使用for xml path 将1列多行转换为字符串连接起来,俗称 sql 合并字符

    由于项目的原因,需要将一些记录分类汇总,但还要列出相关的明细,这样的需求我还是第一次遇到,蛋疼了,还是请求一下度娘吧.搜索一番还是有结果,请看以下例子: create table tb ([id] i ...

  10. Thread 与 Runnable

    在Java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...