MVC4 Jquery Popup

时间:2014-03-10 09:17:18

标签: jquery asp.net-mvc

我希望就如何在.NET MVC 4中实现以下目标获得一些建议。

我有一个包含公司列表的View,通过Enumeration构建一个html表,每个都很简单。每行都有一个按钮或链接,当按下按钮/链接时会打开一个弹出窗口。弹出窗口内部是一个局部视图,包含一个表单,用于添加一个新用户,该用户在另一个控制器上发布到自己的方法。

我想要发生的是弹出窗口中自包含的窗体并且不会影响主窗口,直到我关闭弹出窗口然后刷新父窗口,但仍然能够提交新用户并将其保留在弹出窗口中。

任何人都可以提供任何建议。

由于

1 个答案:

答案 0 :(得分:0)

我认为使用AJAX在对话框中发布表单可能是一个很好的解决方案。

您可以使用jquery中的下一个javascript来序列化表单值的数据:

$("#submit-button").click(function (e) {
    e.preventDefault();
    var form = $("#dialog-form");
    var form_collection = form.serialize();
    $.post("/Controller/Action/", form_collection, function (data) {
        if (data) {
            $("#dialog").close();
        } else {
            alert("Something go wrong!");
        }
    });
});

在控制器中:

[Authorize]
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Action(FormCollection form)
{
    User newUser = new User();
    newUser.Name = form["Name"];
    newUser.Company = form["Company"];
    newUser.Address = form["Address"];

    dataBaseService.SaveOrUpdate(newUser);

    return Json(new { response = true, userSaved = newUser }, JsonRequestBehavior.AllowGet);
}

我希望我理解你的问题吧!