ajax - 是否可以使用 Ajax 在同一页面中进行 Webmatrix CRUD

标签 ajax jquery razor webmatrix single-page-application

我想了解一下,在 WebMatrix Razor 语法中使用 Ajax 在同一页面中进行 CRUD 操作(更新-编辑-插入)的最快、最安全的方法是什么。是否可以使用 ajax 在同一 Razor 页面中执行此 CRUD 操作,而无需 GET-POST Web 服务或其他 Razor 页面?

我尝试使用 jquery ajax 从输出类型为 Json 的其他 Razor 页面获取数据,并使用 WCF Web 服务。但它们并没有真正令我满意,因为我需要另一个页面来提供我的数据。

最佳答案

是的,你可以做到这一点。每个单独的 CRUD 操作都必须包装在自己的条件 block 中。该条件可以测试特定的名称/值对是否已通过 AJAX 发送到服务器(例如 action=deleteaction=update)。将值返回到 AJAX 调用时,请确保正确设置响应的 ContentType

这是一个工作示例 -

@{
    if(IsAjax){
        switch(Request["action"]){
            case "create" :
                Response.Write("You are trying to create something");
                Response.End();
                break;
            case "read" :
                Response.Write("What would you like to read?");
                Response.End();
                break;
            case "update" :
                Response.Write("Something is being updated");
                Response.End();
                break;
            case "delete" :
                Response.Write("This is a delete");
                Response.End();
                break;
        }
    }
}

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="~/Scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
        <script>
            $(function () {
                $('.crud').click(function () {
                    $.get('/SinglePage/?action=' + $(this).attr('id'), function (message) {
                        alert(message);
                    })
                })
            })
        </script>
    </head>
    <body>
        <button id="create" class="crud">Create</button>
        <button id="read" class="crud">Read</button>
        <button id="update" class="crud">Update</button>
        <button id="delete" class="crud">Delete</button>
    </body>
</html>

如果有的话,这说明了这种方法在维护等方面可能有多糟糕。我自己总是为每个数据操作使用单独的 cshtml 文件,

关于ajax - 是否可以使用 Ajax 在同一页面中进行 Webmatrix CRUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609031/

相关文章:

javascript - 每 5 秒从数据库获取数据并通过 AJAX 将其发送到 View

javascript - ajax请求未被调用或执行

javascript - 如何使用sapui5解析json

asp.net-mvc - 如何在 razor 文件中指定 CSS @media?

asp.net-mvc - MVC 3 上的动态标题和侧面菜单

javascript - 这个 POST 请求有什么问题?

c# - AJAX 请求包含在类文件中的方法

javascript - Swiper.js 与 Rangeslider.js - 在 Rangeslider.js onSlide 回调函数上禁用 Swiper.js 触摸事件

javascript - 遍历 Javascript 对象以构建嵌套列表

asp.net-mvc - 在 Tag Helper 中获取属性名称