Asp.net de bulunan ajax toolkit 'ConfirmButtonExtender' kontrolü malesef checkbox ve benzeri kontroller için kullanılamamaktadır.Peki eğer asp.net CheckBox ımıza tıklandığında onay popup ı göstermek istiyor isek nasıl yapacağız?
Bunun için biraz javascript ten yardım almamız gerekiyor.Aşağıdaki gibi bir javascript kullanıcaz.
Senaryomuzda bir sayfadaki lisans sözleşmesinin kabul edilmesi ve bu sözleşmenin kabul etmek için check edildiğinde uyarı göstermesi olsun.
<script type="text/ecmascript">
function confirmCheck() {
//asp.net checkbox ımızın değerini alıyoruz.
var deger = document.getElementById('<%= ChkApproveLicence.ClientID %>').checked;
if (deger == true) {
//yeni değer değişkenimize onay verilir ise true, verilmez ise false değeri atanacaktır.
var yenideger = confirm("Seçim yapmak istediğinizden eminmisiniz ? \n\nBu seçeneği işaretlediğinizde tüm lisans koşullarını kabul etmiş olacaksınız!");
//onay verilmemiş ise checkbox ın işareti kaldırılıyor.Eğer verilmiş ise zate değer true olacağından işaretli kalıyor.
document.getElementById('<%= ChkApproveLicence.ClientID %>').checked = yenideger;
} //End If
}//End Function
</script>
asp.net kontrolümüz :
<asp:CheckBox ID="ChkApproveLicence" runat="server" onclick="confirmCheck()"
Text="Lisans sözleşmesini kabul ediyorum!" />
Artık checkbox a tıklandığında confirm popup ı gelecek ve onaylanır ise check işaretli, onaylanmaz ise işaretsiz olarak güncellenecek.
Bunun için biraz javascript ten yardım almamız gerekiyor.Aşağıdaki gibi bir javascript kullanıcaz.
Senaryomuzda bir sayfadaki lisans sözleşmesinin kabul edilmesi ve bu sözleşmenin kabul etmek için check edildiğinde uyarı göstermesi olsun.
<script type="text/ecmascript">
function confirmCheck() {
//asp.net checkbox ımızın değerini alıyoruz.
var deger = document.getElementById('<%= ChkApproveLicence.ClientID %>').checked;
if (deger == true) {
//yeni değer değişkenimize onay verilir ise true, verilmez ise false değeri atanacaktır.
var yenideger = confirm("Seçim yapmak istediğinizden eminmisiniz ? \n\nBu seçeneği işaretlediğinizde tüm lisans koşullarını kabul etmiş olacaksınız!");
//onay verilmemiş ise checkbox ın işareti kaldırılıyor.Eğer verilmiş ise zate değer true olacağından işaretli kalıyor.
document.getElementById('<%= ChkApproveLicence.ClientID %>').checked = yenideger;
} //End If
}//End Function
</script>
asp.net kontrolümüz :
<asp:CheckBox ID="ChkApproveLicence" runat="server" onclick="confirmCheck()"
Text="Lisans sözleşmesini kabul ediyorum!" />
Artık checkbox a tıklandığında confirm popup ı gelecek ve onaylanır ise check işaretli, onaylanmaz ise işaretsiz olarak güncellenecek.