Chiamata metodo Ajax

Sto cercando di richiamare un metodo semplice nel mio codice dietro l’utilizzo di Jquery con Ajax. Ma ottengo una 404 eccezione non trovata ogni volta. Purtroppo questa è una soluzione di moduli web. Quindi non ho tutti i vantaggi di MVC 🙁

Entra nel metodo javascript e dà l’avviso ma non entra nel mio metodo c #. La mia esperienza precedente sull’utilizzo di questo metodo Jquery è in un sito Web MVC. È compatibile con i siti Webforms?

Il mio Javascript è:

$(document).ready(function() { $('#btn_').click(function() { var value = $('#twink').val(); something(value); }); }); function something(theval) { alert(theval); $.ajax({ type: "POST", url: "/Default.aspx/MyMethod?something=" + theval, data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { alert(msg); } }); } } 

E il mio codice C # è:

  public JsonResult MyMethod(string something) { JsonResult ret = new JsonResult(); return ret; } 

Grazie in anticipo.

Il tuo metodo restituisce JsonResult . Questo è specifico per MVC e non è ansible utilizzarlo in un’applicazione Webforms.

Se si desidera chiamare metodi nel codice sottostante in un’applicazione classica WebForms, è ansible utilizzare PageMethods :

 [WebMethod] public static string GetDate() { return DateTime.Now.ToString(); } 

E poi chiamare il metodo:

 $.ajax({ type: 'POST', url: 'PageName.aspx/GetDate', data: '{ }', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(msg) { // Do something interesting here. } }); 

Ed ecco un esempio pieno di lavoro che ho scritto per te:

 < %@ Page Language="C#" %> < %@ Import Namespace="System.Web.Services" %>  < !DOCTYPE html>        

I PageMethods non sono limitati a semplici tipi di argomenti. È ansible utilizzare qualsiasi tipo come input e output, sarà automaticamente serializzato JSON.

Il tuo WebMethod non sembra corretto ..

Un buon tutorial: http://www.brainbell.com/tutorials/ASP/A_Web_Service_In_ASP.NET.html