在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);
}