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   必须是传过来的类的名称大小吻合
{

}

原文地址:https://www.cnblogs.com/momjs/p/5896496.html