Caricamento una vista parziale in ASP.Net MVC utilizzando jQuery - quale metodo è preferito?
-
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
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
}
});