Caricamento una vista parziale in ASP.Net MVC utilizzando jQuery - quale metodo è preferito?

StackOverflow https://stackoverflow.com/questions/1533558

  •  20-09-2019
  •  | 
  •  

Domanda

In una recentissima domande ho avuto problemi con questo. Il mio codice è:

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

E mi è stato consigliato di usare questo invece:

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

con:

function doSubmitSuccess(result) {

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

}

E poi qualcun altro gentilmente ha cercato di aiutarmi con:

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

Si scopre il mio problema era Sono in idiota abd stava usando il selettore '#' invece di ''

Mi chiedo solo dovrei scambiare il mio codice per qualcuno di questi?

Ci sono reali pro ei contro di ogni approccio o è la preferenza?

C'è un modo migliore che nessuno ha ancora inviato?

Non sto cercando di aprire un dibattito enorme (non credo :)) - Voglio solo capire un po 'più su di esso

.

Grazie

È stato utile?

Soluzione

Sia funzionerà, ma io personalmente contare sulla soluzione jQuery dal momento che è più durevole a lungo termine di una soluzione Microsoft AJAX. Il passaggio a jQuery anche da MS è molto evidente come hanno abbracciato la libreria pesantemente stessi.

Altri suggerimenti

Utilizzando $ .ajax garantisce una maggiore flessibilità. Trovo che questo sia particolarmente utile per la gestione degli errori.

Inoltre, è possibile combinare che in un unico blocco di codice se non si sta riutilizzando doSubmitSuccess altrove

$.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
        }
    }); 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top