WCF数据服务似乎将在web应用程序中创建一个巨大的扩展功能。我正在测试并使用它,如图所示。
我知道我可以在其他基于.NET的应用程序(Silverlight、WebForm…)中使用WCF数据服务的结果
有没有任何框架可以直接在HTML中使用(使用JQuery…)?
例如,如果我想提交一个表单(创建、更新、删除),我应该写很多JS代码。但似乎可以更容易地定义一切。
在这个例子中,我应该写下面的块:
$("#btnAdd").click(function () {
// Convert the form into an object
var data = { Title: $("#title").val(), Director: $("#director").val() };
// JSONify the data
var data = JSON.stringify(data);
// Post it
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "MovieService.svc/Movies",
data: data,
dataType: "json",
success: insertCallback
});
});
function insertCallback(result) {
// unwrap result
var newMovie = result["d"];
// Show primary key
alert("Movie added with primary key " + newMovie.Id);
}
另一件事是查询数据:WCF数据服务支持ODATA查询签名,这很好,但有没有基于JQuery的网格可以支持基于ODATA的分页、排序、过滤。。。?
所有网格都支持JSON远程数据,但我想直接使用WCF数据服务执行分页和排序。我的意思是网格根据用户操作创建URL,并将其发送到WCF数据服务。
尝试datajs:http://datajs.codeplex.com/它可能不会解决以上所有问题,但它应该是一个良好的开端。
'或者您甚至可以尝试http://jaydata.codeplex.com它构建在datajs之上,并提供JavaScript语言查询功能,再加上一些非常基本的jqGrid示例,如http://jaydata.org/examples
上面的例子在JayData 中看起来是这样的
var movies = new MoviesContext(...);
$('#btnAdd').click(function() {
var movie = new Movie( { Title: {} Director:{} });
movies.add(movie);
movies.saveChanges( function() {
alert("Movie saved with id: " + movie.Id);
})
});
还有几个在线视频介绍了的用法
如果可以选择商业产品,则存在
基础设施网格
剑道UI网格
两者都基于jQuery。