为了账号安全,请及时绑定邮箱和手机立即绑定

响应重定向不起作用

响应重定向不起作用

C#
饮歌长啸 2021-07-07 13:49:53
private void Button1_OnClick(object sender, EventeArgs e){    Response.Redirect(myselect.SelectedValue.ToString(), true);}上面是我的代码,我已经设置了一个断点.SelectedValue并且它正在识别该值,但是当我单击按钮时它会显示以下消息:
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

要执行您需要的操作,您必须将文件下载到客户端。人们提到的 Response.Redirect 重定向到 URL。要在浏览器中打开它,您需要以下内容:


private void Button1_OnClick(object sender, EventeArgs e)

{


Response.ContentType = "application/pdf";

Response.AppendHeader("Content-Disposition", "inline; filename=MyFile.pdf");

Response.TransmitFile(myselect.SelectedValue.ToString());

Response.End();

}

对于 Content-Disposition,您有两种选择:


Response.AppendHeader("Content-Disposition", "attachment;filename=somefile.ext") : Prompt will appear for file download


Response.AppendHeader("Content-Disposition", "inline;filename=somefile.ext") : the browser will try to open the file within the browser.



查看完整回答
反对 回复 2021-07-17
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您的示例假设有一个站点,例如1.aspx或221.aspx存在。您只是传递一些选定的值。


private void Button1_OnClick(object sender, EventeArgs e)

{

    Response.Redirect(myselect.SelectedValue.ToString(), true);

}

您需要重定向到某种操作,例如:


public FileResult DownloadFile(int id) {


    // Your code to retrieve a byte array of your file

    var thefileAsByteArray = .....


    return File(thefileAsByteArray, System.Net.Mime.MediaTypeNames.Application.Octet, 'DownloadFilenName.pdf');       

}

然后您需要更改您的 onClick 方法,例如:


private void Button1_OnClick(object sender, EventeArgs e)

{

     Response.Redirect("Download.aspx?id=" + myselect.SelectedValue.ToString(), true);

}


查看完整回答
反对 回复 2021-07-17
  • 2 回答
  • 0 关注
  • 253 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信