我有一个包含的Web用户控件FormView。表单视图显示求职者的详细信息。我为“下载简历”链接提供了一个按钮,以便管理员/ HR可以下载简历。我已将此控件放置在包含UpdatePanel的aspx页面中。除了下载链接,其他一切都正常。
FormView
我已经给出了“下载链接上的命令”链接按钮,并且有一个函数与该命令相关联以开始下载。
下面是我实现的代码-
//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> .....