本文參考 Code.msdn的例子,在此基礎上實現了一個參考例子,代碼放在了:
http://dskit.codeplex.com
如果想在Asp.net MVC應用以JavaScript中訪問WCF Data Service服務,以下是使用Microsoft AJAX Library庫進行處理的例子
var dataContext;
var queryObject, queryObject1;
Sys.require([Sys.components.dataView, Sys.components.adoNetDataContext]);
//DOM載入完成後執行
Sys.onReady(function () {
dataContext = Sys.create.adoNetDataContext(
{
serviceUri: "/Services/NorthwindService.svc",
mergeOption: Sys.Data.MergeOption.appendOnly
});
dataContext.initialize();
queryObject = new Sys.Data.AdoNetQueryBuilder("Customers");
queryObject.set_orderby("ContactName"); //$orderby
queryObject.set_filter("City eq " + "'London'"); // $filter
queryObject.set_expand("Orders"); //$expand
queryObject1 = new Sys.Data.AdoNetQueryBuilder("Customers");
queryObject1.set_filter("startswith(CompanyName, 'A')");
});
<body xmlns:dataview="javascript:Sys.UI.DataView" xmlns:sys="javascript:Sys">
<table>
<tr class="tableHeader">
<td>
ID
</td>
<td>
Name
</td>
<td>
Contact
</td>
<td>
# Orders
</td>
</tr>
<tbody sys:attach="dataview" class="sys-template" dataview:dataprovider="{{ dataContext }}"
dataview:fetchoperation="{{ queryObject.toString() }}" dataview:autofetch="true">
<tr>
<td>
{{ CustomerID }}
</td>
<td>
{{ CompanyName }}
</td>
<td>
{{ ContactName }}
</td>
<td>
{{ Orders.length }}
</td>
</tr>
</tbody>
</table>
以上的代碼效果在的上部分。
是包含:表格顯示、查詢、主從表三種情境的示範,可見MS AJAX的用戶端指令碼庫功能很強大。
當面的表格顯示如果定製可以使用CSS控制,當然也有很多的架構庫,如Jquery中的jqGrid
如果和Asp.net整合,可以使用jqMvcGrid