Jquery Ajax URL调用在使用javascript的MVC4中不起作用

Jquery Ajax URL调用在使用javascript的MVC4中不起作用,jquery,asp.net-mvc,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 4,我是使用razor应用程序的MVC4新手 我有一个文件上传控制和提交按钮,用于上传文件并将文件提交到本地计算机中的特定目录(在下面的代码中指定) 我的要求: @if (TempData["FileExists"] != null) { <script type="text/javascript"> if (confirm("File Already Existed, Do you want to over write?"))

我是使用razor应用程序的MVC4新手

我有一个文件上传控制和提交按钮,用于上传文件并将文件提交到本地计算机中的特定目录(在下面的代码中指定)

我的要求:

@if (TempData["FileExists"] != null)

    {

    <script type="text/javascript">
           if (confirm("File Already Existed, Do you want to over write?"))
            {
                alert("Proceed for over writing file");
                var Url = "@Url.Content("~/Documents/OverWrite")";
                $.ajax({
                    url: Url,
                     type: 'POST',
                    dataType: 'json',
                    data: { docfileName: "FileData" },
                    success: function (data)
                    {
                        alert("overwrite success")
                    }
                });
             }                  
             else 
             {
                alert("Create Backup");
                var Url = "@Url.Content("~/Documents/CreateBackup")";
                  $.ajax({
                   type: 'POST',
                   url: Url,
                   dataType: 'json',
                   data: { docfileName: "FileData"},
                   success: function (data) { alert("Backup success") }
                });
            }
        }
</script>
    }


@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))

{

@Html.ValidationSummary(true)


    <label style="width: 300%;"for="fileToUpload">Upload File</label>
    <input type="file" name="fileToUpload" id="fileToUpload"/>
    <input type="submit" value="Create" id="btnCreate"/>


}
若文件已经存在于文件路径的指定目录中,我必须询问确认是否重写或创建文件备份

我将确认消息显示为“文件已存在,是否要覆盖?”

如果用户单击

确定/是——我必须创建一个文件的覆盖

取消/NO——我必须创建文件备份

我能够正确显示确认信息,并能够选择“确定/是”或“是”

取消/否

注意:1)我不应该在我的应用程序中使用模型

2) 我在同一控制器中使用动作方法

3) 我已经在我的E:\驱动器中创建了“UploadeFiles”文件夹

问题:

@if (TempData["FileExists"] != null)

    {

    <script type="text/javascript">
           if (confirm("File Already Existed, Do you want to over write?"))
            {
                alert("Proceed for over writing file");
                var Url = "@Url.Content("~/Documents/OverWrite")";
                $.ajax({
                    url: Url,
                     type: 'POST',
                    dataType: 'json',
                    data: { docfileName: "FileData" },
                    success: function (data)
                    {
                        alert("overwrite success")
                    }
                });
             }                  
             else 
             {
                alert("Create Backup");
                var Url = "@Url.Content("~/Documents/CreateBackup")";
                  $.ajax({
                   type: 'POST',
                   url: Url,
                   dataType: 'json',
                   data: { docfileName: "FileData"},
                   success: function (data) { alert("Backup success") }
                });
            }
        }
</script>
    }


@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))

{

@Html.ValidationSummary(true)


    <label style="width: 300%;"for="fileToUpload">Upload File</label>
    <input type="file" name="fileToUpload" id="fileToUpload"/>
    <input type="submit" value="Create" id="btnCreate"/>


}
单击OK/YES或CANCEL/NO之后,ajax url既不能到达控制器方法,也不能正常工作。我被困在这里

注意:但如果单击“确定/是”或“取消/否”,则与覆盖或备份相对应的警报消息将正常工作

我的观点:

@if (TempData["FileExists"] != null)

    {

    <script type="text/javascript">
           if (confirm("File Already Existed, Do you want to over write?"))
            {
                alert("Proceed for over writing file");
                var Url = "@Url.Content("~/Documents/OverWrite")";
                $.ajax({
                    url: Url,
                     type: 'POST',
                    dataType: 'json',
                    data: { docfileName: "FileData" },
                    success: function (data)
                    {
                        alert("overwrite success")
                    }
                });
             }                  
             else 
             {
                alert("Create Backup");
                var Url = "@Url.Content("~/Documents/CreateBackup")";
                  $.ajax({
                   type: 'POST',
                   url: Url,
                   dataType: 'json',
                   data: { docfileName: "FileData"},
                   success: function (data) { alert("Backup success") }
                });
            }
        }
</script>
    }


@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))

{

@Html.ValidationSummary(true)


    <label style="width: 300%;"for="fileToUpload">Upload File</label>
    <input type="file" name="fileToUpload" id="fileToUpload"/>
    <input type="submit" value="Create" id="btnCreate"/>


}

您使用了错误的帮助器方法:

更改:

@Url.Content("~/Documents/OverWrite")
致: