ajax调用在postback之后没有进行

ajax calls not being made after doPostBack

本文关键字:之后 调用 postback ajax      更新时间:2023-09-26

我让用户下载一个文件上的锚标记点击。在它的onclick事件中,我使用了__doPostBack来部分post回页,以返回用户可下载的文件。

现在我面临的问题是,当文件没有找到,页面重新加载和ajax调用没有设置。因此,简而言之,当浏览器期望在_doPostBack函数之后得到响应,而没有得到响应时,它会重新加载页面,而是加载$。Ajax方法不运行。我错过了什么?我应该处理一下回复吗?或者有没有办法取消响应?请帮助。

锚标记是,例如

<a onclick="javascript:__doPostBack('AnnouncementAttachmentDownload','Ch 7 -Software Design2010.doc')">Ch 7 -Software Design2010.doc</a>

服务器端代码为

protected void Page_Load(object sender, EventArgs e)
{
    SetPageTitles(ModuleNames.NotSpecified, null, false, true, true, false);
    if (this.Request.Params["__EVENTTARGET"] == "AnnouncementAttachmentDownload")
    {
    string FileName = this.Request.Params["__EVENTARGUMENT"].ToString();
        string destinationPath = Server.MapPath("~/" + System.Web.Configuration.WebConfigurationManager.AppSettings["AnnouncementAttachmentsPath"]).ToString() + "''";
        if (System.IO.File.Exists(destinationPath + FileName))
        {
            Response.AppendHeader("content-disposition", "attachment; filename=" + FileName);
            Response.TransmitFile(destinationPath + FileName);
            Response.End();
        }
        else
        {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "NewScript", "alert('The requested file could not be found, please contact portal.production.support');", true);''DOESNT WORK
        }
    }
}

else部分的行,它只显示消息,但页面也在之后加载

如果找不到文件,则使用响应。重定向将其重定向到当前页面,在此之前,我在会话变量中存储了一个bool,在页面加载时,我检查会话变量是否包含一些值,然后显示消息。此外,我在上面的if表达式中也清除了会话。