我希望就如何在.NET MVC 4中实现以下目标获得一些建议。
我有一个包含公司列表的View,通过Enumeration构建一个html表,每个都很简单。每行都有一个按钮或链接,当按下按钮/链接时会打开一个弹出窗口。弹出窗口内部是一个局部视图,包含一个表单,用于添加一个新用户,该用户在另一个控制器上发布到自己的方法。
我想要发生的是弹出窗口中自包含的窗体并且不会影响主窗口,直到我关闭弹出窗口然后刷新父窗口,但仍然能够提交新用户并将其保留在弹出窗口中。
任何人都可以提供任何建议。
由于
答案 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);
}
我希望我理解你的问题吧!