我试过这段代码。
HTML代码
<table id="example" data-datatable="ng">
<thead>
<tr>
<th>S.No</th>
<th>Menu Name</th>
<th>Menu Link</th>
<th>Menu Path</th>
<th>Icon</th>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="x in names">
<td>{{x.iMenu_id}}</td>
<td>{{x.cMenu_Name}}</td>
<td>{{x.cLink}}</td>
<td>{{x.cHelpLink}}</td>
<td>{{x.cCss_Class}}</td>
</tr>
</tbody>
</table>
脚本代码
我正在使用此功能从Web服务获取数据。
(function (angular) {
' ';
angular.module('AngularApp', ['datatables'])
.controller('AngularCtrl', ['$scope', '$http', function ($scope, $http) {
$http.get("AngularJS.asmx/Page_Select")
.then(function (response) {
$scope.names = response.data.Table;
deferRender = true;
});
}])
})(window.angular);
网络服务(C#)代码
public class HelloWorldData
{
public String Message;
}
[WebMethod]
public void Page_Select()
{
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "application/json";
HelloWorldData data = new HelloWorldData();
string sql = "Exec PB_GetMasterDetails @opt=20";
SqlDataAdapter da = new SqlDataAdapter(sql, System.Configuration.ConfigurationManager.AppSettings["BB_CONSTR"]);
DataSet ds = new DataSet();
da.Fill(ds);
Context.Response.Write(JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented));
}
输出 我在网络服务中得到了这个输出。
{
"Table": [
{
"iMenu_id": 10,
"cMenu_Name": "BIRTH REGISTER1",
"cLink": "/Ward/NewIPPatSearch.aspx",
"cHelpLink": "Help/About us/aboutaosta.html",
"cCss_Class": "icon-home"
},
{
"iMenu_id": 14,
"cMenu_Name": "CHANGE PASSWORD",
"cLink": "/UserAdmin/tchangepwd.aspx",
"cHelpLink": "Help/About us/aboutaosta.html",
"cCss_Class": "icon-home"
},
...
...
...
...
...
...
{
"iMenu_id": 2500,
"cMenu_Name": "CITY1",
"cLink": "/Masters/mCity.aspx",
"cHelpLink": "Help/About us/aboutaosta.html",
"cCss_Class": "icon-home"
}
]
}
此方法对我有用,但加载数据需要相当长的时间。所以我尝试了deferRender方法,但它不适合我。有人知道另一种解决方案吗?
答案 0 :(得分:0)
你应该尝试分析你的瓶颈在哪里......
这里有一些我能想到的选择:
1.1时间处理WebRequest(您的数据库提取)
A1 - 优化数据库模式或其他优化
1.2将响应数据传输到客户端的时间
A1 - 您可以压缩数据
A2 - 您可以将数据分页到较小的组(约100条记录),这样用户将加载一些数据,并在一段时间后获得更多数据,直到收到所有2000多条记录。
1.3处理数据客户端的时间 A1 - 似乎是合法的,我没有看到任何应该减速的东西,但我不是一个角色忍者。