MVC后台传dt数据
//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数据的更多相关文章
- mvc后台传到前台的值带html标签css(解决方法)
mvc后台传到前台的值带html标签css MVC中要用:@Html.Raw(后台数据库取的值); 或者MvcHtmlString.create();
- json:java中前台向后台传对象数据
前台传入的是一个json类型的数据,如何在后台解析成想要的数据类型? 例如: 后台获取了前台一个string类型的数据@RequestParam(value = "forceUpgradeT ...
- C# mvc后台传过来的list 怎么在js使用
var arr= JSON.parse('@Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize( ...
- 解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题)
解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题) 出现这个问题的原因是因为后台传给前台的数据出现了问题,ajax对于json的格式特别的严格 下面是会出现这个问题的 ...
- html表单通过关联数组向php后台传多条数据并遍历输出
通过表单向php后台传多条数据,以关联数组方式呈现,废话不多说,代码附上: html表单代码,方式我设置为get: <form action="php/cart.php" m ...
- Echart实现多个y轴,坐标轴的个数及名称由后台传过来的json数据决定。
yAxis: function(){ var yAxis=[]; for(var i=0;i<legend1.length;i++){ var item={ name:legend1[i], t ...
- 腾讯云图片鉴黄集成到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 ...
- 修改后台传过来的json数据中对象的属性
前言 今天在实习中遇到的一个小问题,后端传过来的一个json数据结构,但是对象中的属性名跟我需要的不一样(因为我是渲染echarts中的数据,属性名要一样) 这是后台传过来的数据: 需求是我需要把属性 ...
- ASP.NET MVC上传文件----uploadify的使用
课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...
随机推荐
- Mysql 列转行统计查询 、行转列统计查询
-- ---------------------------- -- Table structure for `TabName` -- ---------------------------- D ...
- SaltStack之Job管理和Runner(八)
SaltStack之Job管理和Runner 配置文件/etc/salt/master cachedir: /var/cache/salt/master # cache路径 keep_jobs: 24 ...
- cocos2d 3.6 win7下的配置
我搭建cocos2.6的开发环境需要安装工具包括: 1.Visual Studio 2012(由于不兼容win7,需要安装Update 4)和虚拟光驱daemon tool,虚拟光驱的下载地址:htt ...
- git push to nas
1 建nas目录 在nas的/volume1/git_repos目录下新建相关的目录,并在该目录下运行git init --bare cd /volume1/git_repos mkdir wifi_ ...
- Linux查看CPU和内存使用情况
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...
- 中缀表达式转后缀表达式(用于求字符串表达式值)(js栈和队列的实现是通过数组的push和unshift方法插值,pop方法取值)
中缀表达式:就是我通常用的算术或逻辑公式: 后缀表达式:不包含括号,运算符放在两个运算对象后面,所有的计算按运算符出现的顺序,严格从左向右进行,不用考虑运算符优先级: 如,(2+1)*3 转换后,2 ...
- cobbler自动安装脚本
#!/bin/sh #coding=utf8 ################################################################## #将如下IP修改成你 ...
- cmake 编译 c++ dll 的一个例子
CMakeLists.txt project(xxx) add_library(xxx SHARED xxx.cpp) add_executable(yyy yyy.cpp) target_link_ ...
- IOS下自定义click事件使用alert引发的血案
使用过iscroll插件的同学都知道iscroll支持自定义事件,即在调用iscroll时参数赋值options.click = true. 接下来定义事件如: $clinicAppoint.on(' ...
- Android studio 的初始设置
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...