[英]Delete file from folder - ajax asp.net c#
我正在嘗試使用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-Handlers不像mvc控制器那樣被調用:沒有將您的url映射到方法名稱的機制,因此我認為根本不會調用您的deleteFile方法。 您可以通過設置斷點來驗證這一點。
您應該實現一個ProcessRequest方法。 在此方法中,您可以驗證完整的URL並使用正確的參數調用DeleteFile方法(請以大寫字母開頭的.net方法名稱)。
可以在以下位置找到有關使用處理程序的完整說明: https : //www.dotnetperls.com/ashx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.