我正在寻找有关如何为 GridView 中的项目实现自定义命名容器的信息。我的问题是,我有一个 GridView,一周中的每一天都有一个单元格,每个单元格都将包含相同或相似的控件。对于相同的控件,最好将它们命名为相同的名称,例如“lblPersonName”。
但是,如果这样做,则不能使用 FindControl(),因为它会抱怨行内有具有重复 ID 的控件。问题的根源在于 GridView 中控件的命名容器不是表格的单元格(DataControlFieldCell 或其他),而是 GridViewRow。
我不知道是否有办法做到这一点,但最好能够换出默认命名容器,以便单元格成为命名容器,然后我可以拥有相同的控件名称。
诚然,为此的 ASPX 开始变得有点大 - 我开始希望我已经在 ASP.NET MVC 中启动了这个项目......
无论如何,就如何使用这样的控件实现 GridView 而言,我对其他选择持开放态度。在这一点上,使用普通的旧表并动态添加控件可能会更干净......
为澄清起见: - 每列都使用 ItemTemplate 定义,并且控件位于 ItemTemplate 中。- 现在让它工作的唯一方法是拥有“lblPersonNameOne”、“lblPersonNameTwo”等。