这是后台的数据 public ActionResult ResidentInfo()
{
StringBuilder JsonString = new StringBuilder();
JsonString.Append("{\"total\":10,\"rows\":");
JsonString.Append("[");
//for (int i = 0; i < rTB.Rows.Count; i++)
for (int i = 0; i < 10;i++ )
{
JsonString.Append("{");
JsonString.Append("\"residentID\":\"这是用
户ID\",\"ResidnetName\":\"这是名字\""); JsonString.Append("}");
if(i<9)
JsonString.Append(",");
}
JsonString.Append("]}");
return Content(JsonString.ToString(),"Application/json");
}这是前台代码:
$('#MeteringTable').datagrid({
url: '/Query/ResidentInfo',
columns: [[
{ field: 'productid', title: '用户ID', width: 200 },
{ field: 'productname', title: '用户名', width: 200 }
]]
});怎么都获取不到数据,请教该如何从后台控制中获取数据MVCeasyuiASP.NETDataGrid
{
StringBuilder JsonString = new StringBuilder();
JsonString.Append("{\"total\":10,\"rows\":");
JsonString.Append("[");
//for (int i = 0; i < rTB.Rows.Count; i++)
for (int i = 0; i < 10;i++ )
{
JsonString.Append("{");
JsonString.Append("\"residentID\":\"这是用
户ID\",\"ResidnetName\":\"这是名字\""); JsonString.Append("}");
if(i<9)
JsonString.Append(",");
}
JsonString.Append("]}");
return Content(JsonString.ToString(),"Application/json");
}这是前台代码:
$('#MeteringTable').datagrid({
url: '/Query/ResidentInfo',
columns: [[
{ field: 'productid', title: '用户ID', width: 200 },
{ field: 'productname', title: '用户名', width: 200 }
]]
});怎么都获取不到数据,请教该如何从后台控制中获取数据MVCeasyuiASP.NETDataGrid
public string ResidentInfo()
{
返回json串 注意这里拼接的格式,去easyui 官网上面看他json串的格式进行拼装,这里很容易拼错的。
}
不要写在你的默认的 action 里面 单独页面用ajax来请求一次, 因为默认的action 返回的是actionResult 是一个view
之前我一直是用public stringBuilder ResidentInfo(){}这样写的,调试后比较发现json也没拼错,但是前台就是没有变化啊
public string GetDictionaryList(FormCollection form)
{ DictionaryParam pam = JsonHelper.JsonToEntity(form["params"], new DictionaryParam()) as DictionaryParam; var list = _attributeService.GetDictionaryPagedList(pam).ToModelAsPageCollection<DictionaryExt, DictionaryModel>();
if (list.InnerList.Count() == 0)
return "[]";
return JsonHelper.CreateJsonParameters(list.InnerList, true, list.TotalCount);
} // 调用方式 一样,这里我只是把相关的基本参数全部封装在 initComplexDatagrid方法里面了, 方法里面只是根据传入的参数进行拼装datagrid的参数,
var $dg = $("#dgMain");
var columns = [{ field: 'ck', checkbox: true },
{ title: '属性名称', field: 'DictionaryKey', width: '140' },
{ title: '属性翻译内容', field: 'DictionaryValue', width: '200' },
{ title: '翻译语言', field: 'LanguageCode', width: '70' },
{ title: '创建时间', field: 'CreatedOn', width: '150' },
{ title: '创建人', field: 'CreatedBy', width: '150' },
{
title: '操作',
field: 'DictionaryID',
width: 150,
formatter: function (value, rows) { //var key = eval('(' + rows.DictionaryKey + ')');
return "<a href='#' class=\"l-btn l-btn-plain\" onclick=EditData("" + decodeURIComponent(rows.DictionaryID) + "","" + rows.LanguageCode + "") ><span class=\"l-btn-left\"><span class=\"l-btn-text icon-edit\" style=\"padding-left: 20px;\">属性翻译</span></span></a>";
// return newOperationButton(rows.DictionaryKey, "属性翻译", "edit", "EditData");
}
}];
initComplexDatagrid($dg, new dgParam({
columns: columns,
url: '../Dictionary/GetDictionaryList'
})); <table id="dgMain">
</table>
/// <summary>
/// 将List中的数据转换成JSON格式
/// </summary>
/// <param name="dt">数据源list</param>
/// <param name="displayCount">是否输出数据总条数</param>
/// <param name="totalcount">JSON中显示的数据总条数</param>
/// <returns></returns>
public static string CreateJsonParameters<T>(List<T> list, bool displayCount, int totalcount)
{
if (list.Count == 0)
return "{\"rows\": 0,\"total\":0}";
StringBuilder JsonString = new StringBuilder();
if (list != null)
{
JsonString.Append("{ ");
JsonString.Append("\"rows\":[ ");
T _t = (T)Activator.CreateInstance(typeof(T));
PropertyInfo[] propertys = _t.GetType().GetProperties();
List<string> titleList = new List<string>();
titleList = propertys.Select(t => t.Name).ToList();
foreach (var item in list)
{
JsonString.Append("{ ");
int titleLength = 1;
foreach (var titleItem in titleList)
{
PropertyInfo pi = propertys.First(p => p.Name == titleItem);
var value = pi.GetValue(item, null);
JsonString.Append(CheckPropertyDataType(pi.PropertyType, titleItem, value));
if (titleLength == titleList.Count)
JsonString.Remove((JsonString.Length - 1), 1);
titleLength++;
}
JsonString.Append("}, ");
}
JsonString.Remove((JsonString.Length - 2), 1);
JsonString.Append("]");
if (displayCount)
JsonString.Append(",\"total\":" + totalcount);
}
JsonString.Append("}");
return JsonString.ToString().Replace("\n", "");
}