我有一个带有几个BoundField的gridview。他们的数据字段是统计设置的,但我有一个字段需要eval动态绑定到字段。由于BoundField不支持Eval,我添加了一个TemplateField。这是一个例子:
<asp:TemplateField HeaderText="<%$ Resources:Resource, Type%>" SortExpression="Description">
<ItemStyle CssClass="gridColumn_Header" />
<HeaderStyle CssClass="gridColumn_Header" />
<ItemTemplate>
<asp:Literal Text='<%# Eval('StreetType.Description') %>'/>
</ItemTemplate>
</asp:TemplateField>
但是,我收到一条错误消息,指出在此上下文中不支持代码块。
答案 0 :(得分:0)
<asp: runat="server">
内部似乎不允许使用代码块,这是奇怪的。网格嵌套在几个面板和更新面板中,所有这些都需要runat才能在代码隐藏中获得引用。
虽然我找到了问题的答案,但我没有解决方案。
答案 1 :(得分:0)
<asp:TemplateField HeaderText="<%$ Resources:Resource, Type%>" SortExpression="Description">
<ItemStyle CssClass="gridColumn_Header" />
<HeaderStyle CssClass="gridColumn_Header" />
<ItemTemplate>
<asp:Literal Text='<%# Eval("StreetType.Description") %>'/>
</ItemTemplate>
</asp:TemplateField>
Eval应该有双重qoutes