Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery提交部分视图';s表单显示带有Json结果的空白页面_Javascript_Jquery_Html_Asp.net Mvc 4 - Fatal编程技术网

Javascript JQuery提交部分视图';s表单显示带有Json结果的空白页面

Javascript JQuery提交部分视图';s表单显示带有Json结果的空白页面,javascript,jquery,html,asp.net-mvc-4,Javascript,Jquery,Html,Asp.net Mvc 4,我在MVC4中有一个编辑功能 public ActionResult Edit(UserGroup usergroup) { usergroup.created_date = DateTime.Now; usergroup.modified_date = DateTime.Now; db.Entry(usergroup).State = EntityState.Modified; db

我在MVC4中有一个编辑功能

    public ActionResult Edit(UserGroup usergroup)
    {
            usergroup.created_date = DateTime.Now;
            usergroup.modified_date = DateTime.Now;
            db.Entry(usergroup).State = EntityState.Modified;
            db.SaveChanges();
            return Json(new { success = true });
    }
我的Jquery按钮单击事件

    $(".edit-link").click(function () {
    var id = $(this).attr("id");
    $(".edit-dialog").dialog({
        width: 600,
        position: { my: "center", at: "center", of: window },
        title: "Edit User Group"
    }).load("/UserGroup/Edit/" + id);
    return false;
});
我的Jquery表单提交事件

$("#frmEdit").submit(function () {
    var id = $(".edit-link").attr("id");
    $.ajax({
        url: "/UserGroup/Edit/" + id,
        type: "POST",
        data: $(this).serialize(),
        datatype: "json",
        success: function (result) {
            if (result.success) {
                window.alert("User group details modified successfully.");
                location.reload();
            } else {
                $(".edit-dialog").html(result);
                $.validator.unobtrusive.parse((".edit-dialog").dialog);
            }
        }
    }).load("/UserGroup/Edit/" + id);
    return false;
});
编辑: 结果,我得到一个空白页面(URL示例:localhost:1234/UserGroup/Edit/Admin),其中只有一行文本{success=true},而不是执行window.alert

有什么想法吗?似乎它甚至没有到达jquery“success:function(result){//code}”下的这一行


谢谢。

您需要将操作结果返回给jsonresult

另一件事是将Httppost属性放在Edit jsonresult上,如下所示:

[HttpPost]
public JsonResult Edit(UserGroup usergroup)
{
        usergroup.created_date = DateTime.Now;
        usergroup.modified_date = DateTime.Now;
        db.Entry(usergroup).State = EntityState.Modified;
        db.SaveChanges();
        return Json(new { success = true });
}
更新:在表单提交事件之后删除加载事件,然后重试

$("#frmEdit").submit(function () {
var id = $(".edit-link").attr("id");
$.ajax({
    url: "/UserGroup/Edit/" + id,
    type: "POST",
    data: $(this).serialize(),
    datatype: "json",
    success: function (result) {
        if (result.success) {
            window.alert("User group details modified successfully.");
            location.reload();
        } else {
            $(".edit-dialog").html(result);
            $.validator.unobtrusive.parse((".edit-dialog").dialog);
        }
    }
});
return false;
});

您是否创建了一个单独的JsonResult函数,该函数具有post属性,actionresult保持不变。?删除了load命令,但仍然不起作用,不,我没有创建单独的JsonResult函数,它是如何工作的?是的,那么你需要创建一个函数,返回get of edit的操作结果,一个用于post of edit,这将是一个json结果返回操作。