公告栏消息列表错误:DataBinding:“System.Data.DataRowView”不包含名为“公告编号”的属性。
代码:
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="AnnouceID" HeaderText="AnnouceID"
InsertVisible="False" ReadOnly="True" SortExpression="AnnouceID"
Visible="False" />
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("AnnouceID","~/frontpage/show.aspx?AnnouceID={0}") %>'
ToolTip='<%# Eval("公告名称") %>'></asp:HyperLink> </ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:BBCConnectionString %>"
SelectCommand="SELECT [公告编号] AS AnnouceID, LEFT([公告名称],15) AS Title FROM [公告表]"> </asp:SqlDataSource>
百度查过,本人明白错误是:HyperLink1绑定了AnnouceID, 而数据源SqlDataSource1里却没有AnnouceID 这个值。
但是本人用SelectCommand语句在SQL Server 2005里面能输出结果,即本人的AnnouceID 能显示值。是为什么?
顺便请问一下,NavigateUrl里面的show.aspx要添加什么吗?本人什么也没有添加,只是新建了一个show.aspx