单击以显示datagrid网格中的最后一页的ASP.NET C#按钮消失

弗罗克斯

如果将最后一页按钮代码放在If(!this.isPostBack)内,则可以正常工作,因此我进行了大量研究以尝试了解导致问题的原因,但无法找出我的具体问题,请仔细阅读有关此问题的所有主题stackoverflow也是如此,但是没有运气。我想念什么?

另外,我无法使Excel导出正常工作,我尝试了3种不同的方法,所有这些方法均导致OutOfMemoryException,但最新的方法仍在该方法中,但已作了进一步的评论。

http://i.imgur.com/uoyIhdB.jpg

ASPX代码

<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="TestWebFormView.aspx.cs" Inherits="NameSpace.TestWebFormView"
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<%--Form--%>
<form id="form1" runat="server" visible="true">
<asp:Hidden
        <div>
        <%--GridView--%>
           <asp:GridView ID="GridView" AllowPaging="true" PageSize="5" OnPageIndexChanging="GridView_PageIndexChanging" runat="server" AutoGenerateColumns="true" DataKeyNames="Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8, Column9, Column10, Column11, Column12, Column13, Column14"></asp:GridView>     

        <%--Last Page Button(Not done, Datagrid vanishes on click, Last Page & Export button remain in browser view)--%>
            <asp:Button ID="btnLastPage" runat="server" Text="Jump to last page" OnClick="btnLastPage_Click" />

        <%--Export Button (Not done, OutOfMemoryException, need to somehow divide the workload - Stored Proc in the SQL back end behind the components maybe)--%`>`
            <asp:Button ID="btnExport" runat="server" Text="Exp to Excel" OnClick="btnExport_Click"/>
         </div>
</form>
</body>
</html>

后面的代码

using System;
using DBComponentsLibrary;
using DBComponentsLibrary.NameDataSetTableAdapters;
using System.Web.UI.WebControls;
using System.IO;
using System.Web.UI;
using System.Drawing;

namespace Name
{
    public partial class TestWebFormView : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                loadGridData();
        }
        private void loadGridData()
        {
            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;
}

        protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView.PageIndex = e.NewPageIndex;
            Page.DataBind();
        }
        protected void btnLastPage_Click(object sender, EventArgs e)
        {
            int myNewIndex = GridView.PageCount - 1;
            if (myNewIndex != null && myNewIndex != -1 && myNewIndex < GridView.PageCount)
            {
                GridView.PageIndex = myNewIndex;
            }
        }
        protected void btnExport_Click(object sender, EventArgs e)
        {

        }
        //    //Response.Buffer = true;
        //    //Response.Charset = "";
        //    //Response.BinaryWrite(Bytes);

        //    Response.ClearHeaders();
        //    Response.Clear();
        //    Response.AddHeader("content-disposition", "attachment;filename=*.xls");
        //    Response.ContentType = "application/vnd.ms-excel";
        //    Response.End();
        //    using (StringWriter sw = new StringWriter())
        //    {
        //        HtmlTextWriter hw = new HtmlTextWriter(sw);

        //        //To Export all pages
        //        //GridView.AllowPaging = true;


        //        this.DataBind();
        //        //this.BindGrid();

        //        GridView.HeaderRow.BackColor = Color.White;
        //        foreach (TableCell cell in GridView.HeaderRow.Cells)
        //        {
        //            cell.BackColor = GridView.HeaderStyle.BackColor;
        //        }
        //        foreach (GridViewRow row in GridView.Rows)
        //        {
        //            row.BackColor = Color.White;
        //            foreach (TableCell cell in row.Cells)
        //            {
        //                if (row.RowIndex % 2 == 0)
        //                {
        //                    cell.BackColor = GridView.AlternatingRowStyle.BackColor;
        //                }
        //                else
        //                {
        //                    cell.BackColor = GridView.RowStyle.BackColor;
        //                }
        //                cell.CssClass = "textmode";
        //            }
        //        }

        //        GridView.RenderControl(hw);

        //        //style to format numbers to string
        //        string style = @"<style> .textmode { } </style>";
        //        Response.Write(style);
        //        Response.Output.Write(sw.ToString());
        //        Response.Flush();
        //        Response.End();
        //    }
        //}
    }
    } 

编辑2016-02-17:编辑并清理代码。还有一些我要修复的错误。但是发展正在前进。如果我被某些特定的东西卡住了,我会发表一篇新文章。再次感谢!

凸轮

问题在于,您正在将页码设置为In32类型可以表示的最高编号。

protected void btnLastPage_Click(object sender, EventArgs e)
    {
        GridView.PageIndex = Int32.MaxValue;
        DataBind();
    }

那应该是

protected void btnLastPage_Click(object sender, EventArgs e)
    {
        GridView.PageIndex = GridView.PageCount - 1;
        DataBind();
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用C#在asp.net中从一页调用函数到另一页

来自分类Dev

动态生成友好的URL,并在Asp.Net C#中单击的所有帖子的唯一页面中从SQL db呈现内容。

来自分类Dev

在C#ASP.NET中将数据从一页传输到另一页

来自分类Dev

使用VB.NET中的“上一页”和“下一页”按钮,通过URL进行简单循环以显示和遍历页面

来自分类Dev

在按钮上发送参数单击。(ASP .NET C#)

来自分类Dev

转发器控件中的按钮单击事件,以在asp.net C#中的同一转发器中显示数据

来自分类Dev

在Listview ASP.net C#中隐藏按钮

来自分类Dev

在ASP.NET C#中,按钮单击事件中的文本框值不会更改

来自分类Dev

使用MVC重定向到ASP.NET Core中的上一页URL-C#

来自分类Dev

按钮单击事件在ASP.NET C#之后的代码中不起作用

来自分类Dev

单击ASP.net C#中的按钮后发送电子邮件

来自分类Dev

在asp.net c#中单击按钮后进行输入验证后,打开Bootstrap Modal

来自分类Dev

如何在asp.net 中单击按钮执行C# 代码?

来自分类Dev

在asp.net C#中打印时,网格的第二页出现

来自分类Dev

单击按钮时,在 asp.net 中尚未初始化 Sharepoint 集合 - C# asp.net

来自分类Dev

使用ASP.NET C#不能触发该按钮

来自分类Dev

使用C#代码在asp.net上的搜索按钮

来自分类Dev

在ASP.NET C#中以编程方式显示图像按钮

来自分类Dev

在C#中单击第三个按钮时,使前两个按钮消失

来自分类Dev

在ASP.NET C#的同一页面上创建可重复使用的下拉列表

来自分类Dev

C#asp.net按钮单击不显示标签

来自分类Dev

单击删除按钮,单击ASP.NET中的所有网格

来自分类Dev

ASP.NET C#页上仅未显示第一个标签

来自分类Dev

通过单击按钮mvc4 asp.net c#来增加计数

来自分类Dev

每单击一次按钮,ASP.NET c#将日期值按天数增加

来自分类Dev

每单击一次按钮,ASP.NET c#将日期值按天数增加

来自分类Dev

当我单击gridview中的“编辑”按钮时,如何调用“删除行”事件?asp.net C#

来自分类Dev

ASP.net C#。多页合一

来自分类Dev

在ASP.NET C#中访问母版页方法

Related 相关文章

  1. 1

    如何使用C#在asp.net中从一页调用函数到另一页

  2. 2

    动态生成友好的URL,并在Asp.Net C#中单击的所有帖子的唯一页面中从SQL db呈现内容。

  3. 3

    在C#ASP.NET中将数据从一页传输到另一页

  4. 4

    使用VB.NET中的“上一页”和“下一页”按钮,通过URL进行简单循环以显示和遍历页面

  5. 5

    在按钮上发送参数单击。(ASP .NET C#)

  6. 6

    转发器控件中的按钮单击事件,以在asp.net C#中的同一转发器中显示数据

  7. 7

    在Listview ASP.net C#中隐藏按钮

  8. 8

    在ASP.NET C#中,按钮单击事件中的文本框值不会更改

  9. 9

    使用MVC重定向到ASP.NET Core中的上一页URL-C#

  10. 10

    按钮单击事件在ASP.NET C#之后的代码中不起作用

  11. 11

    单击ASP.net C#中的按钮后发送电子邮件

  12. 12

    在asp.net c#中单击按钮后进行输入验证后,打开Bootstrap Modal

  13. 13

    如何在asp.net 中单击按钮执行C# 代码?

  14. 14

    在asp.net C#中打印时,网格的第二页出现

  15. 15

    单击按钮时,在 asp.net 中尚未初始化 Sharepoint 集合 - C# asp.net

  16. 16

    使用ASP.NET C#不能触发该按钮

  17. 17

    使用C#代码在asp.net上的搜索按钮

  18. 18

    在ASP.NET C#中以编程方式显示图像按钮

  19. 19

    在C#中单击第三个按钮时,使前两个按钮消失

  20. 20

    在ASP.NET C#的同一页面上创建可重复使用的下拉列表

  21. 21

    C#asp.net按钮单击不显示标签

  22. 22

    单击删除按钮,单击ASP.NET中的所有网格

  23. 23

    ASP.NET C#页上仅未显示第一个标签

  24. 24

    通过单击按钮mvc4 asp.net c#来增加计数

  25. 25

    每单击一次按钮,ASP.NET c#将日期值按天数增加

  26. 26

    每单击一次按钮,ASP.NET c#将日期值按天数增加

  27. 27

    当我单击gridview中的“编辑”按钮时,如何调用“删除行”事件?asp.net C#

  28. 28

    ASP.net C#。多页合一

  29. 29

    在ASP.NET C#中访问母版页方法

热门标签

归档