Panggil fungsi JavaScript dari kod belakang
Soalan:
Bagaimana untuk memanggil fungsi JavaScript dengan cekap dari belakang kod dan sebaliknya?
Jawapan:
Untuk memanggil fungsi JavaScript daripada kod di belakang, gunakan kaedah berikut:
<code class="language-csharp">Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "MyFunction()", true);</code>
Kod ini secara dinamik mendaftarkan fungsi JavaScript yang akan dipanggil semasa pemuatan halaman. "MyFunction" ialah nama fungsi JavaScript yang akan dipanggil.
Untuk memanggil kaedah di belakang kod daripada JavaScript, anda boleh menggunakan perkhidmatan web atau teknologi AJAX:
Kaedah Web
<code class="language-csharp">[WebMethod] public string ExecuteSomething(string input) { // 要执行的操作代码 return "Result from CodeBehind"; // 返回结果 }</code>
Dalam 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>
Menggunakan teknologi ini, anda boleh berinteraksi dengan lancar antara kod sebelah pelayan di belakang dan JavaScript sebelah pelanggan. Ambil perhatian bahawa contoh AJAX telah dikemas kini kepada pengendalian JSON yang lebih moden dan mantap, termasuk pengendalian ralat. Sampel WebMethod juga menambah pengendalian ralat eksplisit dan pulangan hasil.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi JavaScript dari CodeBehind dan Sebaliknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!