前台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 DictionarydicOPER = new Dictionary (); dicOPER = logBll.GetDicOPRT(ctrlName); List optionOprt= GetOperOption(dicOPER, serchModel); return this.Json(optionOprt, JsonRequestBehavior.AllowGet); }