0

継承したコードがいくつかありますが、それは世界で最も優れたものではありませんが、1 つの小さな例外を除いて機能します。

このページはディレクトリ検索であり、レコード ID で識別されるコントロールがありますが、同じレコード ID を持つ複数の結果が存在する可能性がある状況が存在するため、.NET barf が作成されます。私はもともと、コントロールが既に存在する場合はページにコントロールを配置しないというチェックを実装していましたが、否定的なフィードバックが寄せられています。

私の質問は次のとおりです。同じコントロールを一度に 2 つの場所に配置する方法はありますか? 私は .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、i は結果レコード番号です。

少なくとも私のバックグラウンドから、これがこれを行うのにひどい方法であることはわかっていますが、私が言ったように、これはバラバラにハッキングされた継承されたコードです。

4

3 に答える 3

0

思い通りの結果が得られたと思います。両方のエントリにチェックボックスがあり、互いに切り替えられませんが、問題ありません。結果の行番号をチェックボックスIDに追加することができました。

于 2010-02-04T22:30:12.157 に答える
0

これはJavaScriptでのみ実行できます

于 2010-02-04T22:05:43.880 に答える
0

結果が重複する可能性がありますが、レコード ID がキーである場合は、何か問題があります。また、コントロール ID とレコード ID の関係がわかりません。コードサンプルが役立つかもしれません:-)

于 2010-02-05T00:43:29.760 に答える