C# Ajax Post方法不适用于用户定义函数

C# Ajax Post方法不适用于用户定义函数,c#,asp.net,json,ajax,asp.net-mvc-5,C#,Asp.net,Json,Ajax,Asp.net Mvc 5,UpdateModule是一个用于更新模块详细信息的函数。这不是一个查看页面 单击更新时,返回500(内部服务器错误)或404错误 请帮忙修理一下 $.ajax({ type: 'POST', url: '@Url.Action("ETM_PRODUCTS","UpdateModule")', //contentType: 'application/json', datatype: JSON, data: { '

UpdateModule
是一个用于更新模块详细信息的函数。这不是一个查看页面

单击更新时,返回500(内部服务器错误)或404错误

请帮忙修理一下

$.ajax({
        type: 'POST',
        url: '@Url.Action("ETM_PRODUCTS","UpdateModule")',

        //contentType: 'application/json',
        datatype: JSON,

        data: { 'ModuleID': ModuleID, 'ModuleName': ModuleName, 'ModuleDescription': ModuleDescription },
        success: function (data) {
            if (data == true) {
                alert("Updated Successfully");
            }
        },
        error: function (msg) {
             alert("Error")
        },
    });
c#


调用
Url.Action
的方式有问题

第一个参数是动作,第二个参数是控制器


以下是文档:

检查浏览器devtools中的控制台。如果ajax请求失败,它通常会告诉您。还可以尝试记录从服务器返回的错误,而不是警报(“错误”);试试console.log(msg);或者console.log(JSON.stringify(msg));您需要提供更多信息,如更新按钮,点击处理程序代码等。还请检查控制台,看看它是否转到正确的请求URL
public JsonResult UpdateModule(int ModuleID,string ModuleName,string ModuleDescription) {
        bool status = true;
       PROD_MODULE tabledata = db.PROD_MODULE.Where(x => x.ETM_MODULE_ID == ModuleID)
                           .FirstOrDefault();

        tabledata.NAME = ModuleName;
        tabledata.DESCRIPTION = ModuleDescription;
                           db.SaveChanges();

        return Json ( status, JsonRequestBehavior.AllowGet );
    }