当前位置: 首页 > 面试题库 >

下载功能在asp.net的更新面板中不起作用

雍兴修
2023-03-14
问题内容

我有一个包含的Web用户控件FormView。表单视图显示求职者的详细信息。我为“下载简历”链接提供了一个按钮,以便管理员/
HR可以下载简历。我已将此控件放置在包含UpdatePanel的aspx页面中。除了下载链接,其他一切都正常。

我已经给出了“下载链接上的命令”链接按钮,并且有一个函数与该命令相关联以开始下载。

下面是我实现的代码-

//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/C#应用程序,我有一个更新面板,该面板需要花费一些时间进行更新。在计算期间,是否可以显示“正在加载…请稍候”消息? 目前,我正在使用AJAX面板动画淡入/淡出,以使面板在计算时消失,然后在完成时重新出现。但这不是很实际。 如果可能,我需要显示一条消息。 感谢您的任何帮助。 这是我的面板的代码: 和Ajax Panel动画扩展器 问题答案: 您可以在以

  • 问题内容: 添加按钮具有事件OnClick =“ btn_Add_Click” 该事件未触发,当我单击添加按钮时,没有任何反应。而且,在我添加更新面板之前,“更新按钮”工作正常,现在只有“取消”按钮关闭了弹出窗口,而其他按钮在弹出窗口内无法正常工作如何触发事件。 问题答案: 将UpdatePanel的属性更改为。这将导致由UpdatePanel的子元素触发的任何回发更新其内容。 编辑 :刚刚意识到

  • 问题内容: 我试图通过一条记录一个接一个地执行两个查询来插入一条记录并获取其新生成的ID,但是不知道为什么它给了我以下错误。 我的代码如下:(我不想使用sql存储过程) 另外,如果可能,请检查上面的代码是否编码正确,或者我们可以对其进行更多优化以提高性能? 谢谢 问题答案: 对SCOPE_IDENTITY()的调用不会被视为与您正在执行的INSERT命令位于同一“作用域”中。 本质上,您需要做的是

  • 问题内容: 我正在使用这种技术来加载数据。因此,我创建了以下解析函数: 存在的问题是,是在瞬间函数执行。它是正确的/错误吗?我该如何解决? 问题答案: 您需要改用。该只更新 后 的路线被改变。因此,您的代码应遵循以下原则:

  • 我有一个Django视图(下载-附件),它返回一个Django.http.response.HttpResponse对象。