ASP.NET MVC 中的 jQuery CRUD

标签 jquery asp.net-mvc crud

看起来我们的团队维护着一个保证 clients 用户启用 JavaScript 的 Intranet,我们知道我们可以介入并开始更“彻底”地使用 jQuery。我们的系统非常大,因此即使我们在 ASP.NET MVC 应用程序中使用区域,用于添加、编辑、删除和查看区域的每个子系统的数据集的页面数量确实相当大。一个区域的子系统大约可以有二十个数据表。如果有 20 个数据表,并且您有单独的页面来添加、编辑、删除和查看它们,则意味着总共有 60 个页面。现在假设每个区域有 20 个子系统,那么单个区域将有 20 * 60 个页面,而我们的 Intranet 上大约有 15 个区域。你明白了,它是巨大的。

继续我的真正观点,我想通过使用 jQuery 功能来减少这个问题,在页面上有一个数据表,点击“删除”,它会给我一个带有确认按钮的删除对话框,然后提交表单,重定向到正确的操作并为我完成工作。现在我需要以下方面的一些指导:

  1. 如果我想使用 ASP.NET MVC 删除而不发回,执行此操作的过程是什么?这包括点击删除,它会关闭并检查它是否能够删除(必须以正确的方式处理 FK 关系),然后如果能够删除它并从 View 中的表中删除该行,所有这些都无需刷新页面。
  2. 如何使用 jQuery 从异步进程中调用删除操作?这样做明智吗?通常我们使用Html.ActionLink 。我必须将其包装在表格中吗?
  3. 编辑和更新也是如此,那么最好的方法是什么?

我正在寻找一种优雅的解决方案,并且该解决方案并不难应用于我必须执行此操作的每个页面。任何意见将不胜感激。

最佳答案

我正在开发一个项目,该项目使用链接通过 AJAX POST(无回发)触发删除操作。

$("a.deleteLink").click(function(event)
{
    event.preventDefault();
    if (confirm("Are you sure you want to delete this section?"))
    {
        //TODO Display processing indicator

        var myId = /* id of element */ ;

        $.post("/Section/Delete", { id: myId }, function(data)
        {
            if (data == "Success")
            {
                //handle success
                //TODO Fade out element using .fadeOut()
            }
            else
            {
                //handle error
            }
        });
    }
});

Controller 方法位于/Controllers/SectionController.cs 中。只接受 POST 以及任何更改数据库的操作。

    private SectionRepository secRepo = new SectionRepository();

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Delete(long id)
    {
        Section sec = secRepo.GetById(id);

        secRepo.Delete(sec);
        secRepo.Save();

        return Content("Success");
    }

关于ASP.NET MVC 中的 jQuery CRUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405810/

相关文章:

javascript - 有没有办法隐藏起点上的字符?

c# - 捆绑链接的 JavaScript 文件

c# - 从列表中添加/删除项目作为 View 中模型的属性

javascript - 如何在 XMLHttpRequest 中显示进度

java - 如何将删除的行保存到数据库中?

JqueryMobile Listview 删除旧值

javascript - 如何单独提交附加表格

postgresql - 预加载 : How to disable specific fields of included table

javascript - 如果表单中的数字重复,则会生成错误

java - OpenXava - 创建包含所有模块的列表