根据 GUID 列名称创建动态 ItemTemplate

Create Dynamic ItemTemplate based on GUID column names

我有一个基于 UniqueIdentifier 键值创建列的数据透视过程。结果数据 table 的列名如下:

> PartNum
> [DB1A6498-7CC6-4EA0-846A-9B6EAB771777] 

ASP的部分是:

            <asp:TemplateField HeaderText="Part No.">
                <ItemTemplate>
                    <asp:Label ID="lblPartNum" runat="server" Text='<%#Eval("PartNum") %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Run Out">
                <ItemTemplate>
                    <asp:Label ID="lblRunOut" runat="server" Text='<%#Eval("DB1A6498-7CC6-4EA0-846A-9B6EAB771777") %>' />
                </ItemTemplate>
            </asp:TemplateField>

部件号显示得很好,但是基于 uniqueID 的字段会产生一条消息:

DB1A6498-7CC6-4EA0-846A-9B6EAB771777/ is neither a DataColumn nor a DataRelation for table .

我通读了数据 table 列以创建网格列,显示正常,但是当尝试动态创建 ItemTemplate 时,出现错误。将标签中 uniqueID 括起来的方括号“[]”也不起作用。

非常感谢任何建议。谢谢

凯文...您的回复让我找到了括号。基于此,我找到了有关 DataBinder 的信息,最终结果是 asp:label 的文本 属性 读取:

Text='<%# DataBinder.GetPropertyValue(Container.DataItem,"[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]") %>'

这是显示来自 uniqueID 字段的数据,没有错误。