从文件夹中删除文件-ajax asp.net c#

从文件夹中删除文件-ajax asp.net c#,c#,asp.net,ajax,ashx,C#,Asp.net,Ajax,Ashx,我正在尝试使用ajax和Handler.ashx从文件夹中删除文件。单击调用removefile()方法时,我有一个链接,该方法进一步调用handler.ashx中的方法来删除文件。但它不起作用。在ajax中成功返回的结果总是空的,并且文件不会被删除 代码如下: function removeFile(fileName) { $.ajax({ url: 'Handler.ashx/deleteFile',

我正在尝试使用ajax和Handler.ashx从文件夹中删除文件。单击调用removefile()方法时,我有一个链接,该方法进一步调用handler.ashx中的方法来删除文件。但它不起作用。在ajax中成功返回的结果总是空的,并且文件不会被删除

代码如下:

function removeFile(fileName)
        {
            $.ajax({
                 url: 'Handler.ashx/deleteFile',
                type: 'POST',
                data: { 'sFileName': fileName},
                contentType: false,
                processData: false,
                success: function (result) {
                    debugger;
                    alert(result);
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    alert(xhr.status);
                    alert(xhr.responseText);
                    alert(thrownError);
                }
            });

        }
下面显示了Handler.ashx中的代码:

public void deleteFile(HttpContext context) {
        string sFileName = context.Request["sFileName"];
        if (File.Exists(context.Server.MapPath("~/Files/" + sFileName)))
        {
            File.Delete(context.Server.MapPath("~/Files/" + sFileName));
            context.Response.ContentType = "text/plain";
            context.Response.Write("File Removed Successfully!");
        }
        else
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("File Removed Failed!");
        }
    }

请告诉我我做错了什么。提前感谢

ashx处理程序不像mvc控制器那样被调用:没有将url映射到方法名的机制,因此我认为根本不会调用deleteFile方法。您可以通过设置断点来验证这一点

您应该实现ProcessRequest方法。在该方法中,您可以验证完整的url,并使用正确的参数调用DeleteFile方法(请以大写字母开头的.net方法名称)

有关使用处理程序的完整说明,请参见: