首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >response.redirect和response.end

response.redirect和response.end
EN

Stack Overflow用户
提问于 2013-03-07 05:59:12
回答 1查看 754关注 0票数 0

我有一些代码,可以创建一个excel表格,然后提示用户将其保存在某个地方,还可以将其附加到电子邮件中并发送到某个地方。当我使用Response.end()时,一切都很好,但是为了重定向到一个新页面,我想删除它。当我删除它并用response.redirect替换它时,它不会提示用户保存它。你知道为什么这不再提示你保存了吗?

创建/保存excel工作表的代码

代码语言:javascript
复制
    Protected Sub ExportToExcel(sender As Object, e As EventArgs, ByVal strPath As String)
    Response.ClearContent()

    Response.AddHeader("content-disposition", "attachment; filename=GridViewToExcel.xls")

    Response.ContentType = "application/excel"

    Dim sWriter As New StringWriter()

    Dim hTextWriter As New HtmlTextWriter(sWriter)

    Dim hForm As New HtmlForm()

    Panel1.Parent.Controls.Add(hForm)

    hForm.Attributes("runat") = "server"

    hForm.Controls.Add(Panel1)

    hForm.RenderControl(hTextWriter)

    ' Write below code to add cell border to empty cells in Excel file
    ' If we don't add this line then empty cells will be shown as blank white space

    Dim sBuilder As New StringBuilder()

    sBuilder.Append("<html xmlns:v=""urn:schemas-microsoft-com:vml"" xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:x=""urn:schemas-microsoft-com:office:excel"" xmlns=""http://www.w3.org/TR/REC-html40""> <head><meta http-equiv=""Content-Type"" content=""text/html;charset=windows-1252""><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>ExportToExcel</x:Name><x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head> <body>")
    sBuilder.Append(Convert.ToString(sWriter) & "</body></html>")

    Response.Write(sBuilder.ToString())

    Dim fStream As FileStream = File.Create(strPath)
    fStream.Close()
    Dim Writer As New StreamWriter(strPath)
    Writer.Write(sBuilder)
    Writer.Flush()
    Writer.Close()
End Sub

运行以重定向的最后一段代码

代码语言:javascript
复制
Response.Redirect("~/Default.aspx")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-07 06:03:23

您要做的是发送一个对save提示的响应,并发送一个重定向的响应。您只能在一个响应中发送一个或另一个。

相反,您可以在新的选项卡/窗口中打开要从其下载的页面,然后将调用页面重定向到~/Default.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15258918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档