Asp.net 如何从ASPX页面删除Gridview?

Asp.net 如何从ASPX页面删除Gridview?,asp.net,gridview,export-to-csv,Asp.net,Gridview,Export To Csv,我有一个显示GridView的Aspx页面。gridview显示的数据取决于从下拉菜单中选择的类别。用户可以选择将此文件下载为CSV文件导出到CSV。我现在不希望Gridview出现,因为它太大,经常挂起,而是希望能够从Gridview下载包含数据的CSV文件。我已经成功构建了一个按钮,通过单击该按钮可以下载这些数据。但是,如果gridView不出现,我现在无法打开页面。我试图注释掉Gridview代码-这破坏了页面。我试图将gridview设置为Visible=False,但这也不起作用。我还

我有一个显示GridView的Aspx页面。gridview显示的数据取决于从下拉菜单中选择的类别。用户可以选择将此文件下载为CSV文件导出到CSV。我现在不希望Gridview出现,因为它太大,经常挂起,而是希望能够从Gridview下载包含数据的CSV文件。我已经成功构建了一个按钮,通过单击该按钮可以下载这些数据。但是,如果gridView不出现,我现在无法打开页面。我试图注释掉Gridview代码-这破坏了页面。我试图将gridview设置为Visible=False,但这也不起作用。我还可以做些什么来防止gridview出现,并防止用户直接进入下载对话框?

您可以从代码隐藏将数据加载到DataSet或DataTable中,然后直接将其导出到Excel/CSV,而无需将其分配到gridview,例如在下面的示例中将其导出到Excel:

Public Sub ExportToExcel(dt As DataTable)
    If dt.Rows.Count > 0 Then
        Dim tw As New System.IO.StringWriter()
        Dim hw As New System.Web.UI.HtmlTextWriter(tw)
        Dim dgGrid As New DataGrid()
        dgGrid.DataSource = dt
        dgGrid.DataBind()
        'Get the HTML for the control.
        dgGrid.RenderControl(hw)
        'Write the HTML back to the browser.
        Response.ContentType = "application/vnd.ms-excel"
        Response.AppendHeader("Content-Disposition", "attachment; filename=Data.xls")
        Me.EnableViewState = False
        Response.Write(tw.ToString())
        Response.[End]()
    End If
End Sub
如果您遇到诸如控件必须放置在表单标记内部之类的错误,您可能还需要在后端引用中放置以下代码:

上述代码的C版本:

将Gridview包装为div并将其设置为display:none in asp.net代码-
例如:像这样

你能用你的问题发布页面的代码吗?请参见上面的代码used@CodingNovice只需使用display:none,gridview就会消失,但它将在下载时可用button@Webruster你能用那个命令吗?我一直认为如果它是服务器端,它需要是Visible=False?是的,当您使用Visible=False时,它实际做的是删除HTML,其中作为display=none不会删除HTML,但可以在Inspect元素下看到,这样您就可以访问gridview进行下载您为这个问题提供的答案有效,网格现在被隐藏。但是,我现在决定不希望它在隐藏的gridview中处理结果,因为尽管它不可见,但当gridview中的数据集很大时,它仍然会导致页面挂起。是否仍然可以注释gridview,只允许用户使用下载到CSV按钮?通常,您使用gridview导出excel,现在您需要更改导出到excel的方法。您要导出的列有多少个。。我跑了32列,大约10000行。。它从未被卡住..检查数据库查询数据如何重新存储感谢您的及时响应。它是通过对DB的1次调用来检索的,DB通过ID和名称查询表中的记录。该表有12列和15000行。在gridview中显示时,它将在2000行之后挂起。我希望它只允许用户从下载按钮下载CSV,而不是在CMS页面的Gridview中填充它检索到的所有记录。确定会给出解决方案请将其作为新问题启动,添加问题时请包括现有的按钮单击事件如何导出到excel。我将修改它并提供解决方案。我已经创建了一个新问题-
Public Sub VerifyRenderingInServerForm(control As Control)
    ' Verifies that the control is rendered
End Sub
public void ExportToExcel(DataTable dt)
{
    if (dt.Rows.Count > 0) {
        System.IO.StringWriter tw = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
        DataGrid dgGrid = new DataGrid();
        dgGrid.DataSource = dt;
        dgGrid.DataBind();
        //Get the HTML for the control.
        dgGrid.RenderControl(hw);
        //Write the HTML back to the browser.
        Response.ContentType = "application/vnd.ms-excel";
        Response.AppendHeader("Content-Disposition", "attachment; filename=Data.xls");
        this.EnableViewState = false;
        Response.Write(tw.ToString());
        Response.End();
    }
}

public void VerifyRenderingInServerForm(Control control)
{
    // Verifies that the control is rendered
}