[ad_1]
Hai semuanya,
di saya asp:GridView
komponen Saya memiliki pengaturan DeleteMethod. CommandField juga sudah diatur:
<asp:CommandField ShowEditButton="true" ShowDeleteButton="true" ButtonType="Image" ControlStyle-Width="24px" EditImageUrl="~/Images/edit-icon-png-3601.png" CancelImageUrl="~/Images/close-button-png-30225.png" UpdateImageUrl="~/Images/check-tick-icon-14150.png" DeleteImageUrl="~/Images/trash-can-24846.png" />
Di dalam OnRowDataBound()
metode yang saya periksa DeleteButton
dan tambahkan javascript ke acara onclientclick.
Javascript berfungsi, tetapi Ok tidak memulai DeleteMethod
di CodeBehind.
Ketika saya tidak menambahkan javascript, metode ini berfungsi.
Bagaimana agar tombol perintah hapus berfungsi dengan javascript?
** Menggunakan .NET Framework 4.7.2
Apa yang saya coba:
Kode saya untuk menambahkan javascript:
public static void AddDeleteMessage(GridViewRow row) { int nrControls = row.Controls.Count; Control lastGridViewCell = row.Controls[nrControls - 1]; var deleteButton = lastGridViewCell.Controls.OfType<ImageButton>().FirstOrDefault(btn => btn.CommandName == "Delete"); if (deleteButton != null) { deleteButton.OnClientClick = string.Format("javascript: return confirm(\"Are you sure?\");"); }
Solusi 1
Tombol tautan/gambar WebForms diimplementasikan dengan memanggil beberapa JavaScript saat Anda mengkliknya.
Tapi Anda telah menambahkan JavaScript sebelum apa yang kembali tanpa syarat true/false
artinya kode ini tidak akan pernah dipanggil.
Jika Anda melihat sumber halaman Anda, Anda akan melihat sesuatu seperti:
onclick="javascript: return confirm(...); DoPostBack(...);"
Jelas metode postback tidak akan pernah bisa dipanggil.
Ubah-Mu OnClientClick
hanya return
jika pengguna memilih untuk membatalkan:
deleteButton.OnClientClick = "if(!confirm(\"Are you sure?\")){return false;}";
[ad_2]
コメント