ASP.net Radiobutton组在gridview中跨越2列

时间:2015-04-10 13:56:39

标签: asp.net datagridview radio-button

我在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 ...”这一行上得到一个空引用异常

我做错了什么?如果您需要任何其他信息,请与我们联系。任何帮助表示赞赏。

谢谢!

1 个答案:

答案 0 :(得分:0)

解决了这一点。我将调用BindData子项移动到Init事件而不是页面加载事件。