将WCF数据服务和JQuery结合使用以支持CRUD



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。

相关内容

  • 没有找到相关文章

最新更新