Asp.net 使用点标记文本数据绑定到列别名
我有这样一句话:Asp.net 使用点标记文本数据绑定到列别名,asp.net,data-binding,Asp.net,Data Binding,我有这样一句话: SELECT recordID As [Zap.st.] FROM SomeTable 当我尝试使用asp:标签将结果绑定到带有模板字段的GridView时,出现以下错误: System.Web.HttpException (0x80004005): DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'Zap' 这是一个示例GridView: <asp:Gr
SELECT recordID As [Zap.st.] FROM SomeTable
当我尝试使用asp:标签将结果绑定到带有模板字段的GridView时,出现以下错误:
System.Web.HttpException (0x80004005): DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'Zap'
这是一个示例GridView:
<asp:GridView ID="gvMainData" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Zap.št." SortExpression="Zap.st." ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblZapSt" runat="server" Text='<%# Eval("Zap.st.") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我试过:
Text='<%# Eval("[Zap.st.]") %>'
Text='<%# Eval("'Zap.st.'") %>'
但这些似乎都不起作用
编辑:为了进一步澄清我的问题:
我的Select语句是Sql Server上的一个视图,我的asp.net中的结果是[Zap.st.],没有引用这是[recordID]请尝试以下代码:
<asp:GridView ID="gvMainData" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Zap.št." SortExpression="Zap.st." ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblZapSt" runat="server" Text='<%# Eval("recordID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我发现了一个类似的问题,这是解决方案:
<asp:Label ID="lblZapStD" runat="server" Text='<%# DataBinder.GetPropertyValue(Container.DataItem, "Zap.st.") %>' />
这是一个可接受的答案。您好,这通常是由于列名称拼写错误引起的,因此应该重新检查。问题是您的aleas名称,而不是Eval函数。如果您使用Text=,它会工作得很好。我的Select语句是Sql Server上的一个视图,我的asp.net中的结果是[Zap.st.],没有引用这是[recordID],我应该说在OP中更清楚一点。您可以参考以下链接: