MVC 3 - 在ActionResult中显示对话框弹出窗口

时间:2014-11-05 21:55:53

标签: javascript jquery .net asp.net-mvc .net-4.5

首先我想说我对MVC很新;我在我的公司继承了一个应用程序,并且正在对编辑功能进行更改。在这种情况下,我们在允许用户编辑记录之前检查数据库中的现有记录。最初,我们显示错误,表示该项目已存在。我试图实现的更改是显示一条消息,提醒用户存在具有相同信息的项目,然后为他们提供覆盖现有数据或完全取消的选项,但仅限于选择了某个选项。 / p>

        [HttpPost]
        public ActionResult Edit(EditModel details)
        {
            var editItem = new Object();

            var existingItem = db.GetItem(User.ID, editItem.Number);
            if (existingItem != null)
            {
                if (existingItem.Option == 0)
                {
                    // Display confirmation and then continue with edit if yes, if no then cancel
                }
                else
                {
                    ModelState.AddModelError("", "Error");
                    return View(details);
                }
            }

            //Continue operation
        }

有没有办法实现jQuery或某种类型的javascript调用来实现这一目标?或者有更好的方法吗?我愿意接受建议,并可以提供所需的任何必要信息,以澄清我正在努力实现的目标。提前谢谢!

1 个答案:

答案 0 :(得分:0)

我会回复一些json,例如" Exists"在您的行中,您有评论" //显示确认,然后继续编辑,如果是,"

return Json("Exists");

然后在你的帖子请求中,我会检查该响应并使用对话框(如果存在)

$.post(url,{id:$id}, 
function(data){
     if(data == "Exists")
          showDialog();
});

这就是我如何处理它。