как выйти из jQuery (jeditable) путаница

Я использовал VBA-код (макрос) для сбора & amp; сжать данные и получить эти данные за один вызов C #, и наоборот. Вероятно, это будет наиболее эффективный подход.

Используя C #, вам всегда нужно использовать маршаллинг. При использовании VSTO или COM Interop нижележащий коммуникационный уровень (распределение служебных данных) одинаков.

В VBA (Visual Basic для приложений) вы работаете непосредственно с объектами в Excel. Таким образом, доступ к этим данным всегда будет быстрее.

Но .... Если у вас есть данные в C #, манипулирование этими данными может быть намного быстрее.

Если вы используете VB6 или C ++, вы также проходите через интерфейс COM и столкнетесь с межпроцессным маршалингом.

Итак, вы ищете метод для минимизации межпроцессных вызовов и маршаллинга.

15
задан 8 June 2009 в 19:29
поделиться

5 ответов

Это URL-адрес, на который вы отправляете обновления (который будет какая-то динамическая страница, такая как PHP, JSP, сервлет Java и т.д.), добавляющая возвращаемое значение из хранимой процедуры в ответ? Если так, то я

3
ответ дан 1 December 2019 в 02:29
поделиться

Похоже, jEditable - это оболочка для ajax-методов jquery. Не должно быть слишком сложно заменить все ваши вызовы jEditable вызовами, использующими собственный метод jquery ajax.

Вы можете заменить обратный вызов jEditable с именем 'callback' на 'success', который является именем обратного вызова в функции jquery ajax.

0
ответ дан 1 December 2019 в 02:29
поделиться

Я сделал именно это для своего сайта. Это должно помочь вам начать работу.

$("#editable_text").editable(submitEdit, { 
            indicator : "Saving...",
            tooltip   : "Click to edit...",
            name : "Editable.FieldName",
            id   : "elementid",
            type : "text",
});
function submitEdit(value, settings)
{ 
   var edits = new Object();
   var origvalue = this.revert;
   var textbox = this;
   var result = value;
   edits[settings.name] = [value];
   var returned = $.ajax({
           url: "http://URLTOPOSTTO", 
           type: "POST",
           data : edits,
           dataType : "json",
           complete : function (xhr, textStatus) 
           {
               var response =  $.secureEvalJSON(xhr.responseText);
               if (response.Message != "") 
               {
                   alert(Message);
               } 
           }
           });
   return(result);
 }

Вам необходимо вернуть ответ Json в форме

{"Message" = "FOO"}

И он будет отображаться в предупреждении.

14
ответ дан 1 December 2019 в 02:29
поделиться

китайский пользователь может видеть этот блог: http://wxianfeng.com/2009/10/14/rails-in-place-edit-with-jquery

2
ответ дан 1 December 2019 в 02:29
поделиться

Я тоже работал в классическом ASP, пытаясь решить эту проблему, и подумал, что другие, как я, тоже могут оказаться здесь. Вот как я решил эту проблему в классическом ASP:

Failed server validation... response from whatever.asp

<%
response.status "406 Not Acceptable"
response.write "error message here"
response.end
%>

Какое бы сообщение об ошибке ни прислал whatever.asp, доступ к нему можно получить через onerror:, и поле будет сброшено на исходное значение.

$("#editable_text").editable("whatever.asp", { 
    indicator : "Saving...",
    tooltip   : "Click to edit...",
    type : "text",
    onerror: function (settings, original, xhr) {
        original.reset();
        //do whatever you want with the error msg here
        alert(xhr.responseText);
    }     
});

(и если значение проходит проверку сервера, просто response.write, что бы ни было обновленное значение)

.
9
ответ дан 1 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: