Mi succede una cosa particolarmente fastidiosa: analogamente a quello che faccio in altri usercontrol, devo richiamare un webmethod risiedente nel codebehind dello stesso controllo attraverso una chiamata JQuery.
Questa cosa la faccio già in diversi usercontrol (la uso per gli autocomplete dei texbox) ma su uno usercontrol, su cui sto lavorando ora,non ne vuole sapere di funzionare.... mi torna una 404.
Client side richiamo i miei webmethod in questo modo
codice:
$(document).ready(function () { $("#sceltacli").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "MerceEvasa.ascx/SearchClienti",
data: JSON.stringify({ prefixText: request.term, count: 20 }),
dataType: "json",
success: function (output) {
response(output.d);
},
error: function (errormsg) {
alert(errormsg.responseText);
}
});
},
minLength: 4,
select: function (event, ui) {
$("#sceltacli").blur();
}
});
});
()
questo ad esempio lo uso su un textbox (sceltacli) nell'UC MerceEvasa.ascx per fare la selezione con l'autocomplete dei clienti a cui è stata inviata la merce e filtrare poi l'elenco dei risultati in base al cliente scelto.
Lo UC funziona come un orologio svizzero, richiama il webmethod nel codebehind che crea un elenco con i nominativi dei clienti filtrati in base a quel che scrivo nel campo sceltacli.
Se faccio la stessa cosa in un altro UC, invece, mi esce l'alert con all'interno il messaggio del 404 pagina non trovata... e però in debug vedo che entra nelle funzioni richiamate dal webmethod il che mi lascia parecchio perplesso.... sembrerebbe la chiamata clientside di JQuery la responsabile ma non so come risolvere...
In rete trovo scritto che non si possono invocare con webmethods funzioni negli UC ascx ma a me vanno in tutto il sito tranne in 'sto organo di user control???
Che patimento i mix client/server side