日期:2014-05-17  浏览次数:20441 次

公告栏消息列表错误: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
ASP.NET ?绑定数据 公告栏消息列表