2013-02-26 17 views
5

voglio usare AJAX con il controllo utente asp.net,come usare jQuery ajax con i controlli utente di asp.net?

$.ajax({ 
     type: "POST", 
     url: "*TCSection.ascx/InsertTCSection", 
     data: "{id:'" + id + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      var URL = msg.d; 
      alert(URL); 
     }); 

cs codice

[WebMethod] 
public static string InsertTCSection(string id) 
{ 
    string result = "deneme"; 
    return result; 
} 
+0

Hai qualche errore? –

+0

sto aggiungendo il punto di interruzione nella funzione lato server e non viene colpito – altandogan

+0

non è possibile chiamare un metodo mantenuto all'interno di UserControl tramite jquery, poiché in fase di esecuzione non esiste alcuna risorsa come .ascx, viene unito alla pagina su cui è conservato –

risposta

1

Prova:

$.ajax({ 
     type: "POST", 
     url: "*TCSection.ascx/InsertTCSection", 
     data: JSON2.stringify({ id: id}, //Your 2nd id is passing value but i dont know where its come from 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      var URL = msg.d; 
      alert(URL); 
      } 
     )}; 

e in cs:

[WebMethod] 
public static string InsertTCSection(string id) 
{ 
    string result="deneme"; 
    return result; 
} 
+1

parametro ID non importante voglio conoscere ajax con .ascx. è un modo per farlo? – altandogan

1

Penso che potresti essere m Issing questo attributo

[System.Web.Script.Services.ScriptService] 

Prima classe di servizio come

[System.Web.Script.Services.ScriptService] 
public class TCSection: System.Web.Services.WebService 
{ 

    [WebMethod] 
    public static string InsertTCSection(string id) 
    { 
    } 
} 

o ci può essere un altro motivo per cui il percorso del webservice non è giusto.

5

Non è possibile chiamare un metodo mantenuto all'interno di un controllo utente tramite jquery. perché i controlli .ascx non rappresentano l'URL reale.

Sono pensati per essere incorporati in alcune pagine ASP.NET, quindi non esistono in fase di runtime. quello che potresti fare è creare un servizio separato e posizionare il tuo metodo lì. come webservices.

vedere this, this e molti altri

2

sto usando Handler generico per risolvere questo problema.

Problemi correlati