无法从Ajax MVC4获取参数

无法从Ajax MVC4获取参数,ajax,asp.net-mvc-4,Ajax,Asp.net Mvc 4,我有一个对控制器的Ajax调用,它应该传递要删除的文件的名称。我对MVC4和Ajax也是新手。一旦进入控制器,如何检索该值。下面是我的Ajax调用,以及控制器中我的方法的标题 $.ajax({ type: "POST", url: '@Url.Action("DeleteFiles", "Home")', data: { "DropFile": JSON.stringify(f

我有一个对控制器的Ajax调用,它应该传递要删除的文件的名称。我对MVC4和Ajax也是新手。一旦进入控制器,如何检索该值。下面是我的Ajax调用,以及控制器中我的方法的标题

$.ajax({
                    type: "POST",
                    url: '@Url.Action("DeleteFiles", "Home")',
                    data: { "DropFile": JSON.stringify(file.name) },  //{ "fileList": JSON.stringify(fileList) },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                });

        [HttpPost]
        public virtual ActionResult DeleteFiles(){

}
在调试模式下,我发现该请求没有显示我的参数。谢谢

$.ajax({
                    type: "POST",
                    url: '@Url.Action("DeleteFiles", "Home")',
                    data: { "DropFile": JSON.stringify(file.name) },  //{ "fileList": JSON.stringify(fileList) },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                });

        [HttpPost]
        public virtual ActionResult DeleteFiles(){

}

您需要向控制器方法添加一个参数,该参数的名称与Javascript
data
对象中的属性相同。很可能,您也不需要对
file.name
变量执行
JSON.stringify()

所以我把它放在数据中:{“DropFile”:file.name},将我的签名切换到公共虚拟ActionResult DeleteFiles(string DropFile),我的控制器不再调试了?
$.ajax({
                    type: "POST",
                    url: '@Url.Action("DeleteFiles", "Home")',
                    data: { "DropFile": JSON.stringify(file.name) },  //{ "fileList": JSON.stringify(fileList) },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                });

        [HttpPost]
        public virtual ActionResult DeleteFiles(){

}