PageMethods Ajax est très utile pour cela si vous ne voulez pas effectuer une publication complète et que vous avez juste besoin d'appeler une méthode.
D'abord, je décorer une méthode dans mon aspx.cs fichier comme ceci:
[System.Web.Services.WebMethod]
public static string getVersions(string filePath)
{ ...
return myString;
}
Notez que le « statique » aussi.Puis, en javascript je peux appeler cela comme:
PageMethods.getVersions(_hfFilePath.value, LoadVersionsCallback);
Vous pouvez avoir autant de paramètres que vous avez besoin de différents types de données. Le dernier paramètre est la fonction JavaScript qui est appelée lorsque l'appel est renvoyé. On dirait quelque chose comme:
function LoadVersionsCallback(result) {
...
// I make a drop down list box out of the results:
parts = result.split('|');
for (var i = 0; i < parts.length; i++) {
_ddl.options[_ddl.options.length] =
new Option(parts[i].replace(/~/g, ", "), parts[i]);
}
...
}
Enfin, vous devez avoir les gestionnaires de script propriété "EnablePageMethods" à "true".
<ajaxToolkit:ToolkitScriptManager ID="ScriptManager1"
runat="server" EnablePageMethods="true"
EnablePartialRendering="true"
OnAsyncPostBackError="ScriptManager1_AsyncPostBackError">
</ajaxToolkit:ToolkitScriptManager>
Depuis JavaScript, vous pouvez appeler une fonction statique sur le code derrière votre page.