Javascript 使用ajax调用控制器

Javascript 使用ajax调用控制器,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,大家好,我想用ajax调用控制器动作。但它给出了一个错误。 “找不到资源”。javascript函数调用成功控制器操作未被调用 以下是我的查看代码: <a class="btn btn-primary" onclick="EditUser('Delete', 'Users', '@Model.Items.ElementAt(i).ID');">Link</a> function EditUser(action, controller, id)

大家好,我想用ajax调用控制器动作。但它给出了一个错误。 “找不到资源”。javascript函数调用成功控制器操作未被调用

以下是我的查看代码:

<a class="btn btn-primary" onclick="EditUser('Delete', 'Users', '@Model.Items.ElementAt(i).ID');">Link</a>



 function EditUser(action, controller, id)
            {

                alert(action);
                alert(controller);
                alert(id);

                $.ajax({
                    type: "POST",
                    url: '@Url.Action("Edit", "Users")',
                    data: "{ id: '" + id + "'}",
                    success: function (response) {
                    if (response.d != '1') {
                        alert('Not Saved!');
                    }
                    },
                    error: function (response) {
                    if (response.responseText != "") {
                         alert(response.responseText);
                         alert("Some thing wrong..");
                       }
                   }
                 });
            }

如下所示修改Ajax函数。
$.ajax({
类型:“POST”,
url:'@url.Action(“编辑”、“用户”),
数据:{id:id},
成功:功能(响应){
$('#Sample').html(响应);
},
错误:函数(响应){
如果(response.responseText!=“”){
警报(response.responseText);
警惕(“某些事情出错了”);
}
}
});
[HttpPost]
公共覆盖操作结果编辑(int id=0)
{
int a=id;
返回PartialView(“编辑”,dto);
}
如果将Ajax类型指定为post,请确保添加
[HttpPost]
属性。您是否已将其声明为控制器中的“Post”方法。类似于[HttpPost]的内容不,我没有声明任何东西,请在控制器中声明的方法上方添加[HttpPost]。或者在ajax中使用“Get”。更改后不工作您是否从控制器返回
json
?似乎不是。您希望从控制器操作返回什么?它是重定向到另一个页面还是部分页面加载。?我正在返回,我想显示此视图如果您使用ajax,则就像您希望部分加载页面一样。编辑答案后,您必须创建一个#Div来加载部分视图数据,并确保部分视图返回正确的HTML。
public override ActionResult Edit(int id = 0)
        {
    int a = id;
     return View("Edit", DTO);
    }
<div id='Sample'></div>
Modify your Ajax function as below.
$.ajax({
            type: "POST",
            url: '@Url.Action("Edit", "Users")',
            data: { id: id },
            success: function (response) {
            $('#Sample').html(response);
            },
            error: function (response) {
            if (response.responseText != "") {
                 alert(response.responseText);
                 alert("Some thing wrong..");
               }
           }
         });

[HttpPost]
public override ActionResult Edit(int id = 0)
    {
int a = id;
 return PartialView("Edit",dto);
}