我有我繼承了一些代碼,它不是世界上最偉大的,但它的工作原理,有一個小小的例外:放置在頁面的不同區域相同的ASP.NET控件
此頁是一個目錄搜索,它具有由記錄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,而我是結果記錄號。
我知道這是一個可怕的方式來做到這一點,至少從我的背景,但就像我說的,這是被破解的遺傳代碼。
您使用的是什麼類型的數據綁定控件? – IrishChieftain 2010-02-04 21:41:12
我正在使用複選框控件。基本上說,我有一個結果集,可能包含「重複」結果,相同的記錄ID,但地址數據不同。我比使用findcontrol來獲取這些控件,看看他們是否被檢查,併發送相關記錄。 – 2010-02-04 21:50:46