L'appel d'un ASP.NET côté serveur méthode via jQuery
Je suis en train d'appeler un serveur côté de la méthode du côté client via jQuery. Mon code est comme suit:
Côté serveur:
using System.Web.Services;
[WebMethod()]
//[ScriptMethod()]
public static void SendMessage(string subject, string message, string messageId, string pupilId)
{
//Send message
}
Côté Client:
$("#btnSendMessage").live("click", function(){
var subject = $("#tbSubject").val();
var message = $("#tbMessage").val();
var messageId = $("#hdnMessageId").val();
var pupilId = $("#hdnPupilId").val();
$.ajax({
type: "POST",
url: "./MessagePopup.aspx/SendMessage",
data: ("subject=" + subject + "&message=" + message + "&messageId=" + messageId + "&pupilId=" + pupilId),
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus);
},
success: function(result){
alert("success");
}
});
return false;
});
J'ai ajouté un point d'arrêt sur le côté serveur méthode SendMessage, mais il n'est jamais frapper, mais quand je lance le code jQuery succès de la méthode est appelée. Ce pourrait être la cause?`
- et le code à l'intérieur de la SendMessage n'est pas en cours d'exécution, ou juste ne peut pas le corriger?
- À la fois, la SendMessage code n'est pas en cours d'exécution et je ne peux pas le corriger.
- Est de votre côté serveur méthode vraiment une page ASPX et pas ASMX ou service web WCF? Les points de l'URL de page web aspx.
- Ouais mon côté serveur la méthode est à l'intérieur d'une page ASPX, dois-je créer une autre ASMX ou WCF webservice?
Vous devez vous connecter pour publier un commentaire.
Appeler ASP.NET AJAX "ScriptServices" et des méthodes de page, vous avez besoin d'utiliser la totalité du montant.ajax() syntaxe:
Voir ce post pour plus de détails sur pourquoi c'est nécessaire: http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
Edit: L'extension ne change pas pour .asmx mais reste .aspx.
.asmx
Il semble que vous essayez de faire usage d'une page de méthode.
Prendre un coup d'oeil ici Méthodes de Page dans ASP.NET Ajax pour aider
Vous devez utiliser le service web au lieu d'un page web aspx. Des pages Web n'a pas de support pour appeler des méthodes web, je crois que votre jQuery demande de chargements de la page HTML à la place. Je vous suggère deux choses:
Si cela ne fonctionne pas...et donne "Erreur de Syntaxe: erreur de syntaxe"...puis ajouter ce
entre
</compilation>
et</system.web>
dans votre site Web.Fichier de configuration.Espère que cela aidera quelqu'un parce que m'a fallu un certain temps pour comprendre qu'à côté de fonction jquery je dois ajouter que dans le Web.Config.
Voici le code qui pourrait fonctionner dans votre situation.
Il est un exemple qui a toujours fonctionné pour moi.
Voici l'article complet http://www.webdeveloperpost.com/Articles/How-to-use-jquery-ajax-in-asp-dot-net-web-page.aspx
Il fonctionne bien pour ceux qui veulent directement de l'aide de jquery asp.net méthode de retour d'appel