对于datagrid插件的url属性,官方的文档是这样解释的:
A URL to request data from remote site.
在官方给出的示例中,有以下不同的写法:
一种写法:
function newUser(){
$('#dlg').dialog('open').dialog('setTitle','New User');
$('#fm').form('clear');
url = 'save_user.php';
}
另一种写法:
<table class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:250px" data-options="singleSelect:true,collapsible:true,url:'../datagrid/datagrid_data1.json'">
问题1:在第二种写法中,“../datagrid/datagrid_data1.json'”是一个本地文件吗?
问题2:在asp.net的MVC项目中,想要从数据库中读取信息,并用datagrid显示,该怎么给url属性赋值呢?
MVC项目的介绍如下:
项目中有一个Action用来从数据库读取学生信息,代码片段如下:
//该Action用于从数据库获取学生信息 public JsonResult GetStudentInformation() { List<CMS_Model.Students> students = new List<CMS_Model.Students>(); students = CMSService.GetAllStudents(); var result = new { Rows = students }; return Json(result, JsonRequestBehavior.AllowGet); }
把这个名为“GetStudentInformation”的Action的地址赋值给datagrid的属性url,赋值代码如下:
<table class="easyui-datagrid" title="DataGrid Complex Toolbar" style="width: 700px; height: 250px" data-options="rownumbers:true,singleSelect:true,url:'~/Student/GetStudentInformation',toolbar:'#tb'">
完成之后datagrid不显示数据,这是为什么呢?谢谢。
url:'/Student/GetStudentInformation' 把~去掉
~在JS里面是无法识别的 只能用../../这样的逐个层级的去找
多谢两位的解答,两位的意见是正确的,非常感谢。
另外我上面贴的GetStudentInformation Action部分的代码有误,不改正的话数据也不能显示,正确的代码是:
public JsonResult GetStudentInformation() { List<CMS_Model.Students> students = new List<CMS_Model.Students>(); students = CMSService.GetAllStudents(); var result = new { taotal = students.Count, rows = students }; return Json(result, JsonRequestBehavior.AllowGet); }
谢谢你们。