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