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.
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);
}
- 2 回答
- 0 关注
- 253 浏览
添加回答
举报