Совместное использование службы данных WCF и JQuery для поддержки CRUD - PullRequest
1 голос
/ 31 марта 2012

Кажется, что служба данных WCF создаст большие возможности в веб-приложениях.Я тестирую и работаю с ним, как показано в здесь .

Я знаю, что могу использовать результат службы данных WCF в других приложениях на основе .NET (Silverlight, WebForm ,...).

Есть ли какая-либо инфраструктура для работы в 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.

Ответы [ 3 ]

2 голосов
/ 15 мая 2012

'Или вы можете даже попробовать http://jaydata.codeplex.com, который основывается на datajs и предоставляет возможности JavaScript Language Query, а также несколько очень простых примеров 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);
   })
});

Существует также пара видео онлайн, представляющих использование

2 голосов
/ 31 марта 2012

Попробуйте datajs: http://datajs.codeplex.com/ Вероятно, это не решит все вышеперечисленное, но это должно стать хорошим началом.

1 голос
/ 28 апреля 2013

Если коммерческие продукты являются опцией, есть

Сетка инфраструктуры

Сетка Kendo UI

Оба основаны на jQuery.

...