我有一个Web用户控件,包含一个FormView.formview显示求职者的详细信息.我提供了一个"下载简历"链接的按钮,这样管理员/人力资源部就可以下载简历了.我已将此控件放置在包含UpdatePanel的aspx页面中.除了下载链接,一切正常.

我已经在donwload链接按钮上给出了一个命令,一个函数与开始下载的命令相关联.

以下是我实现的代码-

//Command on 'Download' link button within FormView
protected void lnkDownload_Command(object sender, CommandEventArgs e)
{
    if (e.CommandName.Equals("Download"))
    {
        StartDownload(e.CommandArgument.ToString());
    }
}

//My routine to download document
//sFileInfo contains filepath$==$mimetype
protected void StartDownload(string sFileInfo)
{
    string[] d = sFileInfo.ToString().Split((new string[] { "$==$" }), StringSplitOptions.None);
    string filename = d[0];
    string docType = d[1];

    System.IO.FileInfo file = new System.IO.FileInfo(d[0]);

    if (file.Exists)
    {
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + d[0]);
        Response.AddHeader("Content-Length", file.Length.ToString());
        Response.ContentType = d[1];
        Response.WriteFile(file.FullName);
        Response.End();
    }
    else
    {
        Server.Transfer("~/Mesgbox.aspx?cat=2");
    }
}

如果删除更新面板,代码可以正常工作,但如果使用更新面板,则会生成脚本错误.

有什么建议吗……?

谢谢分享你的时间.

推荐答案

要启动整页回发,请在更新面板中添加回发触发器:

<asp:UpdatePanel runat="server">
    <Triggers>
        <asp:PostBackTrigger ControlID="YourControlID" />
    </Triggers>
    <ContentTemplate>
        .....

Asp.net相关问答推荐

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

在 DataTextField 中组合两个字段.这可能吗?

我应该使用字节还是整数?

在构建时自动停止/重新启动 ASP.NET 开发服务器

无法访问,内部,资源文件?

多行文本框多个换行符

Twitter bootstrap glyphicons 不会出现在发布模式 404 中

Devexpress 或 Telerik Controls 比较

UseSqlServer 方法缺少 MVC 6

HTTP 错误 503.该服务在简单的 ASP.NET 4.0 网站下不可用

什么时候不应该使用 Web 服务?

Web.Config 中的 Assemblies node 的用途是什么?

应该如何使用 RedirectToRoute?

调查 Web.Config 重复部分原因的步骤

在 C# 中动态创建 Json

如何使用 jquery 设置单选按钮 Select 的值

好的 ASP.NET 类似 excel 的网格控件?

如何使用 ConfigurationManager.AppSettings

为什么 IFormFile 显示为空,我该如何解决?

如何创建代表 colored颜色 的随机十六进制字符串?