次のエラーが発生し、解決できません。vbを使用してasp.netのgridviewにデータをバインドする際にエラーが発生しました
<%@ Page Language="VB" MasterPageFile ="~/Master.master" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:GridView ID="GridView1" PageSize ="50" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="ID">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Dname" HeaderText="Player" SortExpression="Dname" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
<asp:BoundField DataField="GTScore" HeaderText="Score"
SortExpression="GTScore" />
</Columns>
</asp:GridView>
</asp:Content>
これは、これは私の.aspx.vbのcode.Iがちょうど機能SelectToppersOfMonth1
からストアドプロシージャを呼び出していますし、ストアドプロシージャの私の選択クエリがある私の.aspxコード
Partial Class test
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim fDate As Date = New Date(Today.Year, Today.Month, 1)
Dim tDate As Date = New Date(Today.Year, Today.Month, Date.DaysInMonth(Today.Year, Today.Month))
GridView1.DataSource = Game.SelectToppersOfMonth1(fDate, tDate)
GridView1.DataBind()
End Sub
End Class
です
SELECT TOP 100 A.[dispName] as [Dname], A.[city] as [City], SUM(B.[score]) as [GTScore]
FROM [Players] A,[Games] B
WHERE A.[ID]=B.[playerID] AND B.[startedOn] BETWEEN @fromDate AND @toDate
GROUP BY A.[dispName], A.[city] ORDER BY [GTScore] DESC
私はエラー
を取得していますDataBinding: 'System.Data.DataRowView' does not contain a property with the name 'ID'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'ID'.
ありがとう、私はasp.netの初心者です。私はDataKeyNamesの意味を知っていません。私はちょうど他のgridviewから貼り付けコピー。 。:D –