2016-04-06 11 views
0

İki checkBox ile sorun yaşıyorum!Hata iletisini nasıl gideririm: Olay doğrulama etkin; argümanlar, orijinal olarak işlenen sunucu denetiminden kaynaklanır

private CheckBox rdYes; 
private CheckBox rdNo; 

      rdYes = new CheckBox(); 
      rdYes.Text = "Yes"; 
      rdYes.Checked = false; 
      rdNo = new CheckBox(); 
      rdNo.Text = "No"; 
      rdNo.Checked = false; 

Hata:

Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation

ben onay kutularını başlatmasını:

protected override void CreateChildControls() 
    { 
      this.Controls.Add(rdYes); 
      this.Controls.Add(rdNo); 
    } 

Ve bir CheckBox kontrol etmek gerekir.

+0

aslında onay kutularını başlatmasını olan Javascript işlevi ekleyerek deneyin? –

+0

CheckBox ile sınava giriyorum, çünkü radioButton AutoPostBack'e sahip ve sadece birini kontrol ediyor, sayfa yenileniyor ... – Gohyu

+0

'CreateChildControls' ayrıca temel yöntemi çağırmalıdır. – Alexander

cevap

0

And I need to check only one CheckBox...

o zaman daha iyi Radio Button kullanmayı deneyebilirsiniz tek onay kutusunu gerekiyorsa

enter image description here

.

Ancak yalnızca bir onay kutusu böyle deneyin seçili olduğundan emin olmak için, eğer:

CheckBox prevChecked; 
private void clickCheckBox(object sender, EventArgs e) 
{ 
    CheckBox myCheckBox = sender as CheckBox; 
    if(myCheckBox != prevChecked && prevChecked!=null) prevChecked.Checked = false; 
    { 
     prevChecked = myCheckBox.Checked ? myCheckBox : null; 
    } 
} 

ve sayfa sonra yenilenmesi gerektiğini istiyorsanız web Checkbox için AutoPostBack="false" ayarlamak için deneyebilirsiniz özelliği.

rdYes = new CheckBox(); 
rdYes.Text = "Yes"; 
rdYes.Checked = false; 
rdYes.AutoPostBack=false; 
rdNo = new CheckBox(); 
rdNo.Text = "No"; 
rdNo.Checked = false; 
rdNo.AutoPostBack=false; 
+0

Sayfa yeniden yenileniyor ... Sayfayı yenilemeye ihtiyacım yok ... – Gohyu

+0

@ ГеоргиКръстев: - Checkbox özelliğiniz için 'AutoPostBack =" false "' yi kullanmaya çalıştınız mı? –

+1

rdYes.AutoPostBack = false; rdNo.AutoPostBack = false; ---> ÇALIŞMA – Gohyu

1

bu

rdYes = new CheckBox(); 
    rdYes.ID = "chkYes"; 
    rdYes.Text = "Yes"; 
    rdYes.Checked = false; 
    rdYes.AutoPostBack=false; 
    rdYes.Attributes.Add("onclick","ToggleCheckboxes();return false") 
    rdNo = new CheckBox(); 
    rdNo.ID = "chkNo"; 
    rdNo.Text = "No"; 
    rdNo.Checked = false; 
    rdNo.AutoPostBack=false; 
    rdNo.Attributes.Add("onclick","ToggleCheckboxes();return false") 

sayfanızdaki

function CheckCheckboxes() { 

    if(document.getElementid('<%=chkYes.ClientID%>').checked==true) 
    { 
     document.getElementid('<%=chkNo.ClientID%>').checked=false; 
    } 
    else if(document.getElementid('<%=chkNo.ClientID%>').checked==true) 
    { 
     document.getElementid('<%=chkYes.ClientID%>').checked=false; 
    } 

} 
+0

Teşekkür ederim, EN İYİ! – Gohyu

+0

Sorun sadece bir cb ile mi? Bir grupta – Gohyu

+0

iki cb mi yoksa? – Gohyu

İlgili konular