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