我正在 ASP.Net 中创建一个表单来复制纸质表单(我在设计中没有发言权,我的任务只是以数字方式重新创建它)。该表格有许多问题,例如“回答是或否。如果是,请指定多少”。我目前正在通过列出问题来处理它,然后在一个组中设置两个单选按钮,一个说“是”,一个说“否”。为了让它更漂亮一点,我一直在使用 Ajax 更新面板,如果用户选择 Yes,它只会显示一个文本框来保存这个 yes 值。
现在我已经能够成功地做到这一点,但是每个问题都是它自己的单选按钮组,并且有自己的面板来更新可见性,这意味着我目前这样做的方式有很多冗余代码,比如
Protected Sub rdoShowOriginalEquipment(ByVal sender As Object, ByVal e As System.EventArgs)
If rdoOEYes.Checked = True Then
pnlOriginalEquipment.Visible = True
ElseIf rdoOENo.Checked = True Then
pnlOriginalEquipment.Visible = False
End If
End Sub
对于每个有类似是/否选项的问题,依此类推。我毫不怀疑有更好的方法来做到这一点。我想知道是否有一种方法可以传递与单选按钮组关联的面板,这样我就可以在代码中使用一个方法来触发所有单选按钮回发,例如(不是真正的代码)
Protected Sub showPanel(RadioButtonGroup, panel)
If rdoYes.Checked = True Then
panel.Visible = True
ElseIf rdoNo.Checked = True Then
panel.Visible = False
End If
End Sub
或者有没有更好的方法来处理这样的问题?如果它可以减少我现在输入的冗余代码的数量,我愿意采用不同的方法。我正在使用 VB,但我知道 C#,所以如果有人能流利地回答这个问题,我就可以毫无问题地解释它。
任何帮助深表感谢。