Dalam ASP.NET, menutup halaman semasa biasanya memerlukan kod JavaScript untuk dilaksanakan, seperti menggunakan kaedah window.close(). Tetapi kadangkala adalah perlu untuk menutup halaman dalam acara butang tanpa menggunakan kod JavaScript. Artikel ini akan memperkenalkan cara menggunakan acara butang untuk menutup halaman dalam ASP.NET.
Mula-mula, tambahkan kawalan butang dalam halaman ASP.NET dan tetapkan nilai sifatnya:
<asp:Button ID="btnClose" runat="server" Text="关闭页面" OnClick="btnClose_Click" />
Kemudian, tambahkan kod berikut dalam acara Klik butang:
protected void btnClose_Click(object sender, EventArgs e) { Response.Write("<script>window.close();</script>"); }
Kod di atas menggunakan kaedah Response.Write untuk mengeluarkan kod JavaScript ke halaman, dengan itu menyedari fungsi menutup halaman semasa.
Walau bagaimanapun, terdapat masalah dengan pelaksanaan ini: jika fungsi menyekat tetingkap timbul dihidupkan dalam penyemak imbas, kod JavaScript tidak akan dilaksanakan, menyebabkan halaman gagal ditutup.
Untuk menyelesaikan masalah ini, anda boleh menggunakan cara lain yang disediakan oleh ASP.NET untuk menutup halaman, iaitu menggunakan kaedah Response.End pada bahagian pelayan.
Tambah kod berikut dalam acara Klik butang:
protected void btnClose_Click(object sender, EventArgs e) { HttpContext.Current.Response.Flush(); HttpContext.Current.Response.SuppressContent = true; HttpContext.Current.ApplicationInstance.CompleteRequest(); }
Kod di atas menggunakan objek HttpContext.Current dan memanggil kaedah Response.Flush, Response.SuppressContent dan ApplicationInstance.CompleteRequest untuk tutup halaman , yang tidak terjejas oleh penyekatan pop timbul penyemak imbas.
Selain itu, anda juga boleh menggunakan kelas JavaScriptSerializer sebelah pelayan untuk menyerikan kod JavaScript ke dalam pembolehubah sebelah pelayan, dan kemudian menggunakan pembolehubah dalam acara Klik butang untuk menutup halaman.
Mula-mula, buat contoh kelas JavaScriptSerializer dan sirikan kod JavaScript:
JavaScriptSerializer serializer = new JavaScriptSerializer(); string script = serializer.Serialize("window.close();");
Kemudian, gunakan pembolehubah ini dalam acara Klik butang untuk menutup halaman:
protected void btnClose_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, GetType(), "close", "<script>" + script + "</script>", false); }
Kod di atas menggunakan kaedah ScriptManager.RegisterStartupScript untuk mendaftarkan skrip permulaan supaya kod JavaScript yang menutup halaman akan dilaksanakan selepas halaman dimuatkan.
Ringkasnya, terdapat banyak cara untuk menutup halaman dalam ASP.NET, dan anda boleh memilih kaedah yang sesuai mengikut keperluan sebenar anda. Walau bagaimanapun, perlu diingat bahawa cuba untuk tidak menggunakan kaedah ini semasa memuatkan halaman untuk mengelakkan operasi yang tidak perlu.
Atas ialah kandungan terperinci acara butang asp.net menutup page_no kod javascript diperlukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!