C# Can';部署时找不到控制器方法

C# Can';部署时找不到控制器方法,c#,javascript,jquery,ajax,asp.net-mvc,C#,Javascript,Jquery,Ajax,Asp.net Mvc,控制器: [HttpPost] public ActionResult FileExist(string fileName) { bool result = true; string path = Server.MapPath(TempPath) + fileName + ".xlsx"; //Path for the file string[] Files = Directory.GetFiles(Server.MapPa

控制器:

    [HttpPost]
    public ActionResult FileExist(string fileName)
    {
        bool result = true;
        string path = Server.MapPath(TempPath) + fileName + ".xlsx"; //Path for the file
        string[] Files = Directory.GetFiles(Server.MapPath(TempPath));
        for (int i = 0; i < Files.Length; i++)
        {
            if (path == Files[i])
            {
                //The filename already exists
                result = false;
            }
        }
        return Json(new { returnvalue = result });
    }
当我在VS中调试它时,它工作得很好。但是当我把它发布并放到服务器上时,它就不起作用了

我的错误如下所示:


发布时为什么不起作用?

在视图中创建url并在javascript变量中设置,然后在js文件中使用它

用于cshtml文件

<script>
 var urlpath = '@Url.Action("FileExist","Calculation")';
</script>

在视图中创建url并在javascript变量中设置,然后在js文件中使用它

用于cshtml文件

<script>
 var urlpath = '@Url.Action("FileExist","Calculation")';
</script>

考虑到
Calculation
是您的控制器类,请尝试如下给出ajax请求

$.ajax({
type: 'POST',
url: '@Url.Action("FileExist","Calculation")',,
data: { 'fileName': fileName },
dataType: 'JSON',
success: function (result) {
    if (!result.returnvalue) {
        $('#errorMessage').text("The filename already exists. Please choose another one (The files are automatically deleted every second day)");
            $('#downloadButton').css("visibility", "hidden");
        }
    }
});
如果这个事件写在一个单独的
js
文件中,那么这里有一个代码

在您的视图中,将js函数设置为

function GetUrlToCheckIfFileExist(){
    return '@Url.Action("FileExist","Calculation")';
}
js
文件中使用以下代码

var getUrlToCheckIfFileExist = window.GetUrlToCheckIfFileExist();

$.ajax({
type: 'POST',
url: getUrlToCheckIfFileExist,
data: { 'fileName': fileName },
dataType: 'JSON',
success: function (result) {
    if (!result.returnvalue) {
        $('#errorMessage').text("The filename already exists. Please choose another one (The files are automatically deleted every second day)");
            $('#downloadButton').css("visibility", "hidden");
        }
    }
});

考虑到
Calculation
是您的控制器类,请尝试如下给出ajax请求

$.ajax({
type: 'POST',
url: '@Url.Action("FileExist","Calculation")',,
data: { 'fileName': fileName },
dataType: 'JSON',
success: function (result) {
    if (!result.returnvalue) {
        $('#errorMessage').text("The filename already exists. Please choose another one (The files are automatically deleted every second day)");
            $('#downloadButton').css("visibility", "hidden");
        }
    }
});
如果这个事件写在一个单独的
js
文件中,那么这里有一个代码

在您的视图中,将js函数设置为

function GetUrlToCheckIfFileExist(){
    return '@Url.Action("FileExist","Calculation")';
}
js
文件中使用以下代码

var getUrlToCheckIfFileExist = window.GetUrlToCheckIfFileExist();

$.ajax({
type: 'POST',
url: getUrlToCheckIfFileExist,
data: { 'fileName': fileName },
dataType: 'JSON',
success: function (result) {
    if (!result.returnvalue) {
        $('#errorMessage').text("The filename already exists. Please choose another one (The files are automatically deleted every second day)");
            $('#downloadButton').css("visibility", "hidden");
        }
    }
});

控制器类名是什么?如何配置您的
路由
?尝试给出绝对url而不是相对url,并再次测试以给出
url:“@url.Action”(“FileExist”,“Calculation”),
@haim770 Controllers name is Calculation尝试使用@url.Action解析控制器路径控制器类名是什么?如何配置您的
路由
?尝试给出绝对url而不是相对url,并再次测试以给出
url:“@url.Action”(“FileExist”,“Calculation”),
@haim770 Controllers name is Calculation尝试使用@url.Action解析控制器path@krillezzz:查看并让我知道。@Krillezz:查看并让我知道。