2010-02-04 99 views
0

我有我繼承了一些代碼,它不是世界上最偉大的,但它的工作原理,有一個小小的例外:放置在頁面的不同區域相同的ASP.NET控件

此頁是一個目錄搜索,它具有由記錄ID標識的控件,但是存在一個情況,即可能有多個具有相同記錄標識的結果,從而導致.NET barf。我原本實施了一項檢查,只是沒有把控制權放在頁面上,如果它已經在那裏,但我們已經得到負面反饋。

我的問題是這樣的:有沒有辦法將同一控件一次放在兩個地方,例如,如果用戶檢查一個,相應的檢查以及?我對.NET的行爲並不十分熟悉,但如果需要,我會盡量提供更多的附加上下文。

編輯:下面是一個由遍歷結果

Dim cbxSendInfo As CheckBox 
Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i 
Debug.text = Debug.text & "&nbsp;&nbsp;&nbsp;&nbsp;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,而我是結果記錄號。

我知道這是一個可怕的方式來做到這一點,至少從我的背景,但就像我說的,這是被破解的遺傳代碼。

+0

您使用的是什麼類型的數據綁定控件? – IrishChieftain 2010-02-04 21:41:12

+0

我正在使用複選框控件。基本上說,我有一個結果集,可能包含「重複」結果,相同的記錄ID,但地址數據不同。我比使用findcontrol來獲取這些控件,看看他們是否被檢查,併發送相關記錄。 – 2010-02-04 21:50:46

回答

0

我覺得我已經成功地生產我想要的結果,我有兩個條目複選框,他們不切換對方,但沒關係。我能夠將結果行號附加到複選框ID。

0

你只能做到這一點通過的JavaScript

+0

這就是我想的。如果可能,我想避免這種情況。我正在尋找使這些標識符具有唯一性的方法,以便我的FindControl調用仍可以運行。 – 2010-02-04 22:09:41

0

您可以有重複的結果,但是如果記錄ID是關鍵字,則說明有問題。另外,我不明白控制ID與記錄ID有什麼關係;代碼示例可能有所幫助:-)

相關問題