在Mvc中 使用 Ajax 提交和接收 数据

 

 

    前台js  代码 

 //或的 模块下拉框 
$("#CTRL").change(function () {
//得到 下拉框中选中的值

$.ajax({
url: '../LogSelect/AjaxData?CTRL=' + $("#CTRL").val(),
type: 'get',
contentType: 'application/json;charset=utf-8',

success: function (json) {
//或的 json 数据 绑定 功能下拉框


var optionString = "";
for (var i = 0; i < json.length; i++) {
optionString += json[i].toString();

}

$("#OPRT").html(optionString);

},
error: function () {
alert("出错了");

}

})


})

   提交到 后台的 Action  控制器   方法中

 url: '../LogSelect/AjaxData?CTRL=' + $("#CTRL").val(),

 

   Mvc中为我们提供了 一个Action    JsonResult  

     Public JsonResult   AjaxData()

{

 

 

  return this.Json(集合, JsonRequestBehavior.AllowGet);

}

JsonRequestBehavior.AllowGet  枚举    表示 允许来自客户端的Get请求s

得到 一个json 数据    可能是Mvc中给我们封装啦 

using System.Web.Script.Serialization;

下的   JavaScriptSerialization  类   

 

 

    后天控制器  代码 

               

 

 

  public JsonResult  AjaxData( )
{
string ctrlName = "";
//接收 模块名
if (Request.QueryString["CTRL"] != null)
{
ctrlName = Request.QueryString["CTRL"].ToString();
}
SearchModel serchModel = new SearchModel();
if (Session["serchModel"] != null)
{
serchModel = Session["serchModel"] as SearchModel;

}

// 得到 OPER 功能的字典

//OPERATECODE
Dictionary<string, string> dicOPER = new Dictionary<string, string>();

dicOPER = logBll.GetDicOPRT(ctrlName);



List<string> optionOprt= GetOperOption(dicOPER, serchModel);

return this.Json(optionOprt, JsonRequestBehavior.AllowGet);


}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-03-29 16:46  hhhker  阅读(4915)  评论(1编辑  收藏  举报