私はSharepoint 2010ビジュアルWebパーツを開発しており、その中でLinqDataSourceを使用して、GridViewでのページングと並べ替えを処理しようとしています。spmetal を使用してデータ コンテキストとエンティティ オブジェクトを作成しました。そして今、これは私のコードです:
私のマークアップ:
<%@ Register TagPrefix="asp" Namespace="System.Web.UI.WebControls" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<asp:LinqDataSource runat="server" ID="LinqDataSource1" OnSelecting="MySelecting" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="3"
AutoGenerateColumns="False" DataSourceID="LinqDataSource1"
EnableModelValidation="True">
<Columns>
<asp:BoundField DataField="title" HeaderText="Title" />
</Columns>
</asp:GridView>
と私のコード:
protected void MySelecting(object sender, LinqDataSourceSelectEventArgs e)
{
TestEntitiesDataContext dc = new TestEntitiesDataContext("http://sp/sites/test");
e.Result = from item in dc.TestList
select new
{
title = item.Title,
numberField = item.NumberField.ToString()
};
}
問題は、サイトで Web パーツを表示しようとすると、次のエラーが表示されることです: 型 'System.Int32' の式は、戻り値の型 'System.Object' には使用できません
グリッド ビューでページングを無効にすると、このエラーは消えます。
なぜこれが起こっているのか分かりますか?
どんな助けにも感謝します。