从文件夹中删除文件-ajax asp.net c#
我正在尝试使用ajax和Handler.ashx从文件夹中删除文件。单击调用removefile()方法时,我有一个链接,该方法进一步调用handler.ashx中的方法来删除文件。但它不起作用。在ajax中成功返回的结果总是空的,并且文件不会被删除 代码如下:从文件夹中删除文件-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',
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方法名称) 有关使用处理程序的完整说明,请参见: