Appeler des fonctions JavaScript depuis le code-behind
Question :
Comment appeler efficacement des fonctions JavaScript depuis le code-behind et vice versa ?
Réponse :
Pour appeler une fonction JavaScript depuis le code-behind, utilisez la méthode suivante :
<code class="language-csharp">Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "MyFunction()", true);</code>
Ce code enregistre dynamiquement une fonction JavaScript qui sera appelée lors du chargement de la page. "MyFunction" est le nom de la fonction JavaScript à appeler.
Pour appeler des méthodes code-behind depuis JavaScript, vous pouvez utiliser des services web ou la technologie AJAX :
WebMethod
<code class="language-csharp">[WebMethod] public string ExecuteSomething(string input) { // 要执行的操作代码 return "Result from CodeBehind"; // 返回结果 }</code>
En JavaScript :
<code class="language-javascript">PageMethods.ExecuteSomething('myInput', OnSuccess, OnFailure); function OnSuccess(result) { // 使用结果 console.log(result); } function OnFailure(error) { // 处理错误 console.error(error); }</code>
AJAX
<code class="language-javascript">function CallCodeBehind() { $.ajax({ url: "CodeBehindPage.aspx/ExecuteSomething", type: "POST", data: JSON.stringify({ input: "myInput" }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { // 使用结果 console.log(data.d); // d 属性包含服务器返回的结果 }, error: function (xhr, status, error) { // 处理错误 console.error(error); } }); }</code>
Grâce à ces technologies, vous pouvez interagir de manière transparente entre le code-behind côté serveur et le JavaScript côté client. Notez que les exemples AJAX ont été mis à jour pour une gestion plus moderne et robuste de JSON, y compris la gestion des erreurs. L'exemple WebMethod ajoute également une gestion explicite des erreurs et un retour de résultat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!