响应重定向不起作用

时间:2018-06-01 10:03:43

标签: c# asp.net

PI

上面是我的代码,我已经在code.py上设置了一个断点并且它正在识别该值,但是当我点击该按钮时它会显示以下消息:

Error Picture

2 个答案:

答案 0 :(得分:2)

要做你需要的,你必须将文件下载到客户端。 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.

答案 1 :(得分:1)

您的样本假设某个网站例如存在1.aspx221.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);
}