我有一些我继承的代码,它不是世界上最好的,但它可以工作,除了一个小例外:
这个页面是一个目录搜索,它有通过记录 ID 标识的控件,但是存在可能有多个结果具有相同记录 ID 的情况,从而使 .NET 失败。我最初实施了一项检查,只是没有将控件放在页面上,如果它已经存在,但我们得到了负面反馈。
我的问题是:有没有办法一次将相同的控件放在两个地方,例如,如果用户检查一个,相应的也检查?我对 .NET 的行为方式并不十分精通,但如果需要,我会尝试提供尽可能多的额外上下文。
编辑:这是通过循环结果数据表生成控件的更新代码
Dim cbxSendInfo As CheckBox
Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i
Debug.text = Debug.text & " Loading Checkbox (" & strCheckboxID & ")...<br />"
cbxSendInfo = New CheckBox
cbxSendInfo.ID = strCheckboxID
cbxSendInfo.enableViewState = true
这是查找控件并构建联系人列表的代码:
Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i
Dim cbxSendInfo As CheckBox = Me.tblResults.FindControl(strCheckboxID)
If cbxSendInfo.Checked Then
alOrganizers.Add(drOrganizer("ID"))
End If
其中 drOrganizer("ID") 是记录 ID,i 是结果记录号。
我知道这是一种糟糕的方法,至少从我的背景来看是这样,但就像我说的,这是被砍成碎片的继承代码。