GridView
を使用して、SQL Server から取得したテーブルを表示しようとしています。イベントログです。GridView
コントロールと一緒にページにコントロールを配置しましたObjectDataSource
。私は以下を設定しました:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:GridView ID="gvHistory" runat="server" DataSourceID="dsHistory">
</asp:GridView>
<asp:ObjectDataSource ID="dsHistory" runat="server" SelectMethod="GetHistoryRows"
TypeName="AspDotNetStorefrontAdmin.ROIImportHistory"></asp:ObjectDataSource>
</form>
</body>
</html>
App_Code
次のように、フォルダーにクラスを作成しました。
Imports System.Data
Namespace AspDotNetStorefrontAdmin
Public Class ROIImportHistory
Public Shared Function GetHistoryRows() As DataTable
Dim localDatatable As New DataTable
localDatatable.Columns.Add()
localDatatable.Columns.Add()
localDatatable.Columns.Add()
localDatatable.Rows.Add(New Object() {"Hi", "Hi2", "Hi3"})
Return localDatatable
End Function
End Class
End Namespace
ただし、これを実行しようとすると、次の例外が発生します。
何がうまくいかないのですか?ここではかなり基本的なことをしていると思いました。さまざまなオプションを試しましたが、わかっているのは、GridView
またはのいずれかを削除すると、ページが正常に機能することだけObjectDataSource
です。DataTable
を物に直接バインドすると、GridView
正しく動作します。
私の目的は、フィルタリングとともに真のページネーションを取得することです。DataTable
ページが読み込まれるたびにa を読みたくない以上のものを扱う可能性があることを考えると。
Server Error in '/' Application.
Exception of type 'System.OutOfMemoryException' was thrown.
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.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0
System.Web.UI.Util.GetTypeFromAssemblies(ICollection assemblies, String typeName, Boolean ignoreCase) +201
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +302
System.Web.UI.WebControls.ObjectDataSourceView.GetType(String typeName) +70
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1692
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +27
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +261
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +95
System.Web.UI.Control.EnsureChildControls() +146
System.Web.UI.Control.PreRenderRecursiveInternal() +61
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394
Version Information: Microsoft .NET Framework Version:2.0.50727.6400; ASP.NET Version:2.0.50727.6387
注: このコードは、同じアプリケーション プール内の同じサーバー上の別のサイトに読み込まれて正常に実行されることがわかりました。したがって、これは構成の問題に関係していると思います。