簡體   English   中英

從文件夾中刪除文件-Ajax ASP.NET C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM