從程式碼隱藏呼叫 JavaScript 函數
問題:
如何有效地從程式碼隱藏呼叫 JavaScript 函數,反之亦然?
解答:
要從程式碼隱藏呼叫 JavaScript 函數,請使用下列方法:
<code class="language-csharp">Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "MyFunction()", true);</code>
此程式碼動態註冊一個將在頁面載入期間呼叫的 JavaScript 函數。 “MyFunction”是要呼叫的 JavaScript 函數的名稱。
要從 JavaScript 呼叫程式碼隱藏方法,可以使用 Web 服務或 AJAX 技術:
WebMethod
<code class="language-csharp">[WebMethod] public string ExecuteSomething(string input) { // 要执行的操作代码 return "Result from CodeBehind"; // 返回结果 }</code>
在 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>
透過使用這些技術,您可以無縫地在伺服器端程式碼隱藏和客戶端 JavaScript 之間進行互動。 請注意,AJAX 範例已更新為更現代和健全的 JSON 處理方式,包括錯誤處理。 WebMethod 範例也增加了明確的錯誤處理和結果回傳。
以上是如何從 CodeBehind 呼叫 JavaScript 函數,反之亦然?的詳細內容。更多資訊請關注PHP中文網其他相關文章!