我有一些我继承的代码,它并不是世界上最伟大的代码,但它有效,只有一个小例外:
此页面是目录搜索,它具有由记录ID标识的控件,但是存在可以存在多个具有相同记录ID的结果的情况,从而使得.NET barf。我最初实施的检查只是没有将控件放在页面上,如果它已经存在,但我们一直得到负面反馈。
我的问题是:有没有办法将同一个控件同时放在两个地方,例如,如果用户检查一个,相应的一个也检查?我对.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是结果记录号。
我知道这是一种可怕的方法,至少从我的背景来看,但就像我说的,这是继承的代码,已被黑客攻击碎片。
答案 0 :(得分:0)
您只能通过 JavaScript
执行此操作答案 1 :(得分:0)
我想我已经设法产生了我想要的结果,我有两个条目的复选框,它们不会互相切换,但是没关系。我能够将结果行号附加到复选框ID。
答案 2 :(得分:0)
你可以有重复的结果,但如果记录ID是关键,那么出了点问题。另外,我不明白控件ID与记录ID有什么关系;代码示例可能会有所帮助: - )