您的位置:首页 > Web前端 > JQuery

asp.net mvc用jquery向action提交json列表数据

2013-10-15 11:44 519 查看
[b]asp.net mvc用jquery向action提交json列表数据[/b]

场景:想把前台页面的可变列表的内容传递给controller的action

适用:asp.net mvc3

方案:

前台js:

var items = new Array();
  $("#tbPrizesData").find("tr").each(function () {//遍历可变数据
  var sortnumData = $(this).find("span[id='sort']").text();
  var prizeNameData=$(this).find("span[id='prizeName']").text();
  var obj = { "Sort": sortnumData, "Name": prizeNameData };
  items.push(obj);
});

var request = {
startDate: "",//要传递的其他参数
endDate: "",//要传递的其他参数
remark: "", //要传递的其他参数
prizesData: items//要传递的列表
}

$.ajax({
  url: '@Url.Content("~/TurntableActivity/ActivityCreate")',
  type: "POST",
  data: JSON.stringify(request),//转换成json数据
  dataType: "json",
  contentType: "application/json; charset=utf-8",
  error: function (XMLHttpRequest, textStatus, errorThrown) {
    $.messager.alert("提示信息", "异常!" + textStatus, "error");
    return;
  },
  success: function (data) {

  }

});

后台controller的action代码:

[HttpPost]
public JsonResult ActivityCreate(string startDate, string endDate, string remark, ActivityPrize[] prizesData)//以数组形式直接接收数据
{

}

ActivityPrize.cs 类:

public class ActivityPrize
{
  public string Name { get; set; }//注意必须有get;set;方法

  public string Sort { get; set; }//注意必须有get;set;方法
}

总结:由于微软为asp.net mvc3做了大量的工作,使我们的开发难度降低了,所需要的编码量也降低了,我们再也不需要自己动手序列化和反序列化,前提是你要知道有这样一个功能而已。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: