Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# doPostBack后未进行ajax调用_C#_Javascript_Jquery_Asp.net - Fatal编程技术网

C# doPostBack后未进行ajax调用

C# doPostBack后未进行ajax调用,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我让用户下载一个锚标签点击文件。在onclick事件中,我使用了uu doPostBack部分回发页面,以返回用户可下载的文件 现在我面临的问题是,当找不到文件时,页面会重新加载,并且不会设置ajax调用。因此,简而言之,当浏览器在doPostBack函数之后期待响应,但没有得到响应时,它会重新加载页面,但$.ajax方法不会运行。我错过了什么?我应该对回应做些什么吗?或者有没有办法取消回复?请帮忙 例如,锚定标记是 <a onclick="javascript:__doPostBack(

我让用户下载一个锚标签点击文件。在onclick事件中,我使用了uu doPostBack部分回发页面,以返回用户可下载的文件

现在我面临的问题是,当找不到文件时,页面会重新加载,并且不会设置ajax调用。因此,简而言之,当浏览器在doPostBack函数之后期待响应,但没有得到响应时,它会重新加载页面,但$.ajax方法不会运行。我错过了什么?我应该对回应做些什么吗?或者有没有办法取消回复?请帮忙

例如,锚定标记是

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

else部分中的行,它只显示消息,但页面随后也会加载。

对于找不到的文件,我使用response.Redirect将其再次重定向到当前页面,在此之前,我在会话变量中存储了bool,在pageload中,我检查了会话变量是否包含一些值,然后显示了消息。另外,我在上面的if表达式中也清除了会话。

如果您必须手动处理
\uuu EVENTTARGET
\uu EVENTARGUMENT
并手动调用
\uu doPostBack
,您可能应该重新考虑您的设计。ASP.Net中内置了一些很好的AJAX事件处理程序模型,可以将所有这些东西抽象出来。另外,为什么不使用处理程序,比如
Download.ashx
作为下载文件的链接呢?您是否尝试过
returnfalse
href=“#”
在锚中
ch7-softwaredesign2010.doc
mellamokb我正在使用一个处理程序来上传文件,但它是通过javascript ajax处理程序实现的。我不知道如何通过我自己的javascript直接达到一个目标。尝试改进uu doPostBack不会查看href或返回,它只是发回
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
        }

    }
}