j'ai la méthode postback jquery suivante sur le clientLe rappel simple de jquery fonctionne sur .net3.5 mais rien ne se déclenche sur .net 2.0?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CallServerWithParameters.aspx.cs" Inherits="CallServerWithParameters" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery-1.2.6.js" type="text/javascript"></script>
<script language="javascript">
$(document).ready(function() {
$("#txtNoOfMales").change(function() {
var ticketRequired = this.value;
var options = {
type: "POST",
url: "CallServerWithParameters.aspx/GetAvailableTicketsForMales",
data: "{no:" + ticketRequired + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
if (response.d != "") {
alert(response.d);
$("#txtNoOfMales").focus();
}
}
};
//Call the PageMethods
$.ajax(options);
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
No of Male Tickets:<asp:TextBox ID="txtNoOfMales" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
et la méthode Web suivante sur le côté serveur
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
public partial class CallServerWithParameters : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string GetAvailableTicketsForMales(int no)
{
string result = "";
int NoOfTicketsAvailable = 5;
if (no > NoOfTicketsAvailable)
{
result = "Only " + NoOfTicketsAvailable.ToString() + " Male ticket(s) avaialable. Please eneter a lower number!";
}
return result;
}
}
problème
est tout fonctionne bien sur NET 3.5, mais si j'utiliser le même code sur .net 2.0 l'événement webmethod ne reçoit pas d'appel du tout, quelqu'un a une idée de ce que j'ai fait de mal?
grâce
mis à jour avec le code source complet
Pouvez-vous nous donner un échantillon de la classe entière dans laquelle cette méthode web réside? Il a l'air d'avoir raison, donc il pourrait être un peu plus haut. –
AJAX n'a-t-il pas besoin de WCF qui n'a été implémenté qu'à partir de la version 3.0? –
Marvin: J'ai testé le code ci-dessus en appelant un webmethod sans utiliser de paramètres et ça fonctionne très bien sur .net2.0, juste que ça ne marche pas quand je commence à inclure des paramètres. Tim: je vais modifier et mettre à jour avec plus de code de détail merci – CliffC