2009-10-07 2 views
4

В очень недавних вопросах у меня были проблемы с этим. Мой код был:Загрузка частичного просмотра в ASP.Net MVC с использованием JQuery - какой метод является предпочтительным?

$("#SearchResults").load("/Invoice/InvoiceSearchResults/"); 

И мне посоветовали использовать вместо этого:

$.ajax({ 
     url: "/Invoice/InvoiceSearchResults/", 
     type: 'GET', 
     dataType: 'html', // <-- to expect an html response 
     success: doSubmitSuccess 
    }); 

с:

function doSubmitSuccess(result) { 

$(".SearchResults").html(result);  

}

А потом кто-то любезно пытался помочь мне с:

$.get(postUrl, function(data) { 
      $("#posts").append(data); 
      $('#ajaxLdMore').addClass('hideElement'); 
      $('#ldMore').removeClass('hideElement'); 
     }); 

Оказывается, моя проблема была в том, что я идиот, а abd использовал селектор «#» вместо «.».

Мне просто интересно, должен ли я поменять свой код на любой из них?

Есть ли реальные плюсы и минусы каждого подхода или это предпочтение?

Есть ли лучший способ, который никто еще не опубликовал?

Я не пытаюсь открыть огромную дискуссию (я не думаю :)). Я просто хочу понять немного больше об этом.

Благодаря

ответ

3

И будет работать, но я лично полагаться на решение JQuery, так как он более прочный долгосрочный, чем решение Microsoft AJAX. Переход на jQuery даже с помощью MS очень очевиден, так как они очень сильно обнимали библиотеку.

2

Использование $ .ajax дает вам большую гибкость. Я считаю это особенно полезным для обработки ошибок.

Кроме того, вы можете комбинировать, что в одном блоке кода, если вы не повторное использование doSubmitSuccess других

$.ajax({ 
     url: "/Invoice/InvoiceSearchResults/", 
     type: 'GET', 
     dataType: 'html', // <-- to expect an html response 
     success: function(result){ 
      $(".SearchResults").html(result); 
     }, 
     error: function(err){ 
      //handle errors here 
     } 
    }); 
Смежные вопросы