关于datagrid的一个奇怪问题!在线等待!急!!!!!

时间:2022-03-16 00:35:07
我把datagrid的pagesize设为10,当数据记录少时,页数10个页。在网页中对datagrid上下翻页,末页等操作都正常。
但是当数据记录多时,页数401个页。在网页中对datagrid上下翻页,末页等操作时,程序出错。
上下翻页,末页等操作在程序中没错。因为数据记录少时对datagrid操作都正常!是不是datagrid总的装载数据计录数量有限制。(数据库是oracle 9i)请高手解答!在线等待!急!!!!!

8 个解决方案

#1


是你的分页程序有问题

#2


回复 wangsaokui(无间道III(终极无间)) 
我说过啦上下翻页,末页等操作在程序中没错。因为数据记录少时对datagrid操作都正常!
不会就不要回答!不要骗分

#3


是什么错误呢?
提示贴出来看一下

#4


html代码

<asp:LinkButton id="LinkFirst" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkFirst">第一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkPrev" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkPrev">上一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkNext" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkNext">下一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkLast" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkLast">最末页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>



-----------------------------------------------------------------------------------------
cs代码


public void PagerButtonClick(Object sender, EventArgs e)
{
String arg = ((LinkButton)sender).CommandArgument;

//Response.Write(arg);
//Response.End();
switch(arg)
{
case ("LinkNext"):
if (DataGrid2.CurrentPageIndex < (DataGrid2.PageCount - 1))
DataGrid2.CurrentPageIndex++;
break;

case ("LinkPrev"):
if (DataGrid2.CurrentPageIndex > 0)
DataGrid2.CurrentPageIndex--;
break;

case ("LinkLast"):
DataGrid2.CurrentPageIndex = (DataGrid2.PageCount - 1);
break;

case ("LinkFirst"):

DataGrid2.CurrentPageIndex = 0;
break;
}
this.BindData(DataGrid2);
}

#5


总要把出错信息贴出来看看才知道啊,高手

#6


分页时加一判断就好了,如下:
MyDataGrid1.DataSource =(DataTable)ViewState["table"];
try
{
MyDataGrid1.DataBind();
}
catch
{
int i=MyDataGrid1.CurrentPageIndex;
while(i>=MyDataGrid1.PageCount)                      
{
i--;
}
MyDataGrid1.CurrentPageIndex=i;
MyDataGrid1.DataBind ();

}

#7


我把错误贴给大家,快快帮帮忙
“/wzcg”应用程序中的服务器错误。
--------------------------------------------------------------------------------

超过了最大请求长度。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 超过了最大请求长度。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 超过了最大请求长度。]
   System.Web.HttpRequest.GetEntireRawContent() +895
   System.Web.HttpRequest.FillInFormCollection() +119
   System.Web.HttpRequest.get_Form() +50
   System.Web.UI.Page.GetCollectionBasedOnMethod() +70
   System.Web.UI.Page.DeterminePostBackMode() +47
   System.Web.UI.Page.ProcessRequestMain() +42

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

#8


绑定的代码

#1


是你的分页程序有问题

#2


回复 wangsaokui(无间道III(终极无间)) 
我说过啦上下翻页,末页等操作在程序中没错。因为数据记录少时对datagrid操作都正常!
不会就不要回答!不要骗分

#3


是什么错误呢?
提示贴出来看一下

#4


html代码

<asp:LinkButton id="LinkFirst" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkFirst">第一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkPrev" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkPrev">上一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkNext" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkNext">下一页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>
<asp:LinkButton id="LinkLast" onclick="PagerButtonClick" runat="server" Font-Size="X-Small" CommandArgument="LinkLast">最末页</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>



-----------------------------------------------------------------------------------------
cs代码


public void PagerButtonClick(Object sender, EventArgs e)
{
String arg = ((LinkButton)sender).CommandArgument;

//Response.Write(arg);
//Response.End();
switch(arg)
{
case ("LinkNext"):
if (DataGrid2.CurrentPageIndex < (DataGrid2.PageCount - 1))
DataGrid2.CurrentPageIndex++;
break;

case ("LinkPrev"):
if (DataGrid2.CurrentPageIndex > 0)
DataGrid2.CurrentPageIndex--;
break;

case ("LinkLast"):
DataGrid2.CurrentPageIndex = (DataGrid2.PageCount - 1);
break;

case ("LinkFirst"):

DataGrid2.CurrentPageIndex = 0;
break;
}
this.BindData(DataGrid2);
}

#5


总要把出错信息贴出来看看才知道啊,高手

#6


分页时加一判断就好了,如下:
MyDataGrid1.DataSource =(DataTable)ViewState["table"];
try
{
MyDataGrid1.DataBind();
}
catch
{
int i=MyDataGrid1.CurrentPageIndex;
while(i>=MyDataGrid1.PageCount)                      
{
i--;
}
MyDataGrid1.CurrentPageIndex=i;
MyDataGrid1.DataBind ();

}

#7


我把错误贴给大家,快快帮帮忙
“/wzcg”应用程序中的服务器错误。
--------------------------------------------------------------------------------

超过了最大请求长度。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 超过了最大请求长度。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 超过了最大请求长度。]
   System.Web.HttpRequest.GetEntireRawContent() +895
   System.Web.HttpRequest.FillInFormCollection() +119
   System.Web.HttpRequest.get_Form() +50
   System.Web.UI.Page.GetCollectionBasedOnMethod() +70
   System.Web.UI.Page.DeterminePostBackMode() +47
   System.Web.UI.Page.ProcessRequestMain() +42

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

#8


绑定的代码