Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用点标记文本数据绑定到列别名_Asp.net_Data Binding - Fatal编程技术网

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中更清楚一点。您可以参考以下链接: