WCF数据服务似乎将在Web应用程序中创建出色的可扩展性。我正在测试并使用它,如here所示。
我知道我可以在其他基于.NET的应用程序(Silverlight,WebForm,...)中使用WCF数据服务的结果。
是否有任何框架可以直接在HTML中使用(使用JQuery,...)?
例如,如果我想提交一个表单(Create,Update,Delete),我应该编写很多JS代码。但似乎可以更容易地定义所有内容。
在this示例中,我应该写下面的块:
$("#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数据服务。
答案 0 :(得分:2)
尝试datajs:http://datajs.codeplex.com/ 它可能无法解决上述所有问题,但它应该是一个良好的开端。
答案 1 :(得分:2)
'或者您甚至可以尝试构建在datajs之上的http://jaydata.codeplex.com并提供JavaScript语言查询功能以及http://jaydata.org/examples
中提供的一些非常基本的jqGrid示例您的上述示例与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);
})
});
还有couple of videos在线提供用法
答案 2 :(得分:1)