我在gridview中有2列的单选按钮。每行中的单选按钮是一个组。单击“保存”按钮时,事件必须读取第1列中的已检查值,并将它们存储在管道分隔的字符串中,并在第2列中检查另一个字符串中的值。
在页面加载事件中,我动态创建按钮(我已尝试在前端绑定),并为每个控件设置唯一ID。都是静态模式。每组中的单选按钮具有相同的文本和值。
rbCannot.ID = "rbCannotSelect" & i
rbCannot.GroupName = grpName
rbMust.ID = "rbMustSelect" & i
rbMust.GroupName = grpName
在点击事件中:
For j As Integer = 0 To grdOptionRelations.Rows.Count - 1
rbCannotID = "rbCannotSelect" & i
rbCannot = CType(grdOptionRelations.Rows(j).Cells(0).FindControl(rbCannotID), RadioButton)
If rbCannot.Checked Then valCannot += rbCannot.Attributes("value").ToString + "|"
rbMustID = "rbMustSelect" & i
rbMust = CType(grdOptionRelations.Rows(j).Cells(1).FindControl(rbMustID), RadioButton)
If rbMust.Checked Then valMust += rbMust.Attributes("value").ToString + "|"
If rbCannot.Checked Then Response.Write("rbCannot " & rbCannot.Text & " " & rbCannot.Checked.ToString & vbCrLf)
If rbMust.Checked Then Response.Write("rbMust " & rbMust.Text & " " & rbMust.Checked.ToString & vbCrLf)
i += 1
Next
单击“保存”按钮后,我在“如果rbCannot.Checked ...”这一行上得到一个空引用异常
我做错了什么?如果您需要任何其他信息,请与我们联系。任何帮助表示赞赏。
谢谢!
答案 0 :(得分:0)
解决了这一点。我将调用BindData子项移动到Init事件而不是页面加载事件。