GridViewのアイテムにカスタムネーミングコンテナを実装する方法についての情報を探しています。私の問題は、曜日ごとにセルを持つGridViewがあり、各セルに同じまたは類似のコントロールが含まれることです。同じコントロールの場合は、「lblPersonName」のように、すべて同じ名前を付けると便利です。
ただし、これを行うと、行内に重複するIDを持つコントロールがあると文句を言うため、FindControl()を使用できません。問題の根本は、GridViewのコントロールの名前付けコンテナーがテーブルのセル(DataControlFieldCellなど)ではなく、GridViewRowであるということです。
これを行う方法があるかどうかはわかりませんが、セルが名前付けコンテナーになるようにデフォルトの名前付けコンテナーを交換できると便利です。そうすれば、同じコントロール名を使用できます。
確かに、このためのASPXは少し大きくなり始めています。私は、ASP.NETMVCでプロジェクトを開始したかったのにと思い始めています。
いずれにせよ、このようなコントロールを使用してGridViewを実装する方法に関しては、他の選択肢を受け入れることができます。この時点で、単純な古いテーブルを使用してコントロールを動的に追加する方がクリーンな場合があります...
明確にするために:-各列はItemTemplateで定義され、コントロールはItemTemplate内にあります。-現在それを機能させる唯一の方法は、「lblPersonNameOne」、「lblPersonNameTwo」などを使用することです。