2016-02-10 3 views
0

У меня возникла проблема, когда я пытаюсь получить данные в gridview в моем приложении ASP.NET.ASP.Net Fill Grid с данными DataTable OutOfMemoryException

Это задняя часть код моего ASPX (я извиняюсь за ужасные отступы, мне все еще нужно больше экспериментировать с StackOverflow кодой)

using System; 
    using DBComponentsLibrary; 
    using DBComponentsLibrary.NameEventDataSetTableAdapters; 

    namespace NameEvents 
    { 

public partial class TestWebFormView : System.Web.UI.Page 
{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     //try 
     //{ 
     //if (!Page.IsPostBack) 
     { 
    { 
       //GC.Collect(); 
       //SqlCommandBuilder cb = new SqlCommandBuilder(); 
       NameTableAdapter TA = new NameTableAdapter(); 
       NameDataSet rds = new NameDataSet(); 
       NameDataSet.NameDataTable Rdt = new NameDataSet.NameDataTable(); 
       TA.Fill(Rdt); 
       GridView.DataSource = Rdt; 
       GridView.DataBind(); 
       GridView.Rows[0].Cells[0].Visible = true; 
       int i = 2;      
       //TA.GetData(); 
       } 
      } 
     } 
     } 
    } 
    } 

И это мой ASPX DIV контейнер, содержащий GridView

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    </head> 
    <body> 
    <form id="form1" runat="server" visible="true" > 

     <div> 
    <asp:GridView ID="GridView" runat="server" DataKeyNames="Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8, Column9, Column10, Column11, Column12, Column13,"></asp:GridView> 
</div> 

    <%--x = Parameter names in the table--%> 
</form> 

Результаты в:

$exception {"Exception of type 'System.OutOfMemoryException' was thrown."} System.OutOfMemoryException 
+0

Я думаю, вам нужно показать немного больше кода и объяснить, что именно вы делаете, и какие данные вы пытаетесь отобразить. Однако убедитесь, что вы удаляете объекты, которые необходимо утилизировать. – user1666620

+0

Пожалуйста, уточните, что вам нужно, чтобы я мог его предоставить. Редактирование: точкой приложения является создание журнала событий из реляционной базы данных в приложение ASP.Net. Размер БД в настоящее время составляет около 30-40000 строк – Froxer

+0

ну, с одной стороны, код, который вы предоставили, не будет компилироваться - он не завершен. Кудрявые фигурные скобки показывают, что это либо метод, либо собственный, либо цикл, но я не могу сказать. – user1666620

ответ

0

решаемые его

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
       DataBind(); 
       loadGridData(); 
     } 

LoadGridData(); это метод, который поддерживает инсталляцию моего TableDataAdapter, Dataatet и DataTable. В настоящее время это замедляет работу приложения, поскольку каждый раз, когда выполняется действие, все снова возникает, когда страница загружается. Работа над решением для его решения путем ввода либо набора данных, либо dtable в сеанс

Код для загрузкиGridData();

{ 
      NameTableAdapter TA = new NameTableAdapter(); 
      NameDataSet rds = new NameDataSet(); 
      NameDataSet.NameDataTable Rdt = new NameDataSet.NameDataTable(); 
      TA.Fill(Rdt); 
      GridView.DataSource = Rdt; 
      GridView.DataBind(); 
      GridView.Rows[0].Cells[0].Visible = true; 
     }