problem with oncheckedchanged when dynamically created checkboxes

Hi,i have an editor.aspx where i have a table named sbaTable. That table is dynamically filled with rows in my code page editor.aspx.vb...On every row I have one checkbox and one textbox.. what i want to do is to disable textbox whenever checkbox on same row is checked=true!

editor.aspx.vb i have a loop that counts as many rows as i need(works fine)..
Private Sub PopulateGrid()
...create tablerow
...create tablecell "tcOk"
Dim chkOK as new checkbox = "ok-" + tdindex.text
chkOK.autopostback = true
''chkOK.oncheckedchanged" doesnot exist here for some reason(OnCheckedChanged exists in designer mode)!? that is why i tried with handlern below...
addhandler chkOK.checkedchanged, adressof chk_OncheckedChanged --

...create tablecell "tcNote"
Dim txtNote as new textbox = "note-" + tdindex.text
...addrows and cells to the table mm..
End Sub

Public sub chk_OncheckedChanged(ByVal sender As Object,ByVal e As EventArgs)

Dim checkBox as checkbox = Ctype(sender, CheckBox)
Dim idString as string =
End Sub

Problem = chk_OnCheckedChanged is never hit...can i do this the way i am trying oris there another solution??

Thanks in advance
Who is Participating?

Improve company productivity with a Business Account.Sign Up

DarthModConnect With a Mentor Commented:
PAQd, 250 points refunded.

CS Moderator
I think the handler is correct.  However, make sure the table is not re-generated on postback. You may try to generate the table in Page_PreRender to ensure that the viewstate preserves the controls that you add.

adismesevicAuthor Commented:
Hi Thanks for your answer.. i tried to create
 Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
         'If Not Page.IsPostBack Then
         'End If
End Sub

it doesnot help table is regenereted anyway and i can't use 'If Not Page.IsPostBack Then either because then i dont get anything back when page the same time i must set autopostback = true for my checkbox or nothing will happen when clicked!!
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

adismesevicAuthor Commented:
anyone know anything about this??..i have searched the google but cant find any solution there either!?
hmmm....did u try to enable viewstate?
adismesevicAuthor Commented:
yes, i tried that too now..still not there an easier way to do this with javascript?
hmm....I'll try a sample today and keep you posted on how it works - give me until the evening
ok - got it - it was PreInit not PreRender as I initially said. See a quick and dirty implementation - hopefully u get the idea.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<script runat="server">
    Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs)
    End Sub
    Protected Sub PopulateGrid()
        Dim tb As New Table
        Dim tr As New TableRow
        Dim tc As TableCell = Nothing
        tc = New TableCell
        Dim chkok As New CheckBox
        chkok.AutoPostBack = True
        AddHandler chkok.CheckedChanged, AddressOf chk_oncheckchanged
    End Sub
    Protected Sub chk_oncheckchanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim chkok As CheckBox = CType(sender, CheckBox)
        Response.Write("Checked: " & chkok.Checked.ToString())
    End Sub


<html xmlns="" >
<head runat="server">
    <title>Untitled Page</title>
    <form id="form1" runat="server">
adismesevicAuthor Commented:
Hi, first of all thank you very much for your answers I leaned some stuff that i didnot know, but unfortunately it didnt help me...when i tried your last suggestion i got some other stuff that i couldnot avoid mm
Anyway i solved it with is solution if anyone else woould need it....

chkOk.Attributes.Add("onclick", "chkChecked(document.forms[0].note_" + tdIndex.Text + ")")

 <script type="text/javascript" language="JavaScript">
   // functions to disable/enable dynamically created checkboxes/textboxes in tblSba
                function chkChecked(obj)
                     obj.disabled = !(obj.disabled);
                function txtChanged(chkobj, noteobj)
                        if (noteobj.value == '') {
                         chkobj.disabled = false;
                         else if (noteobj.value != ''){
                         chkobj.disabled = true;                        
awesome.. glad u got it working!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.