【问题标题】:Kendo Ui Grid Not calling the Read Action in MVCKendo Ui Grid 未调用 MVC 中的读取操作
【发布时间】:2015-11-02 03:38:29
【问题描述】:

我在剑道 UI 网格中的读取操作没有被调用。 有人可以帮忙吗?

仅供参考:如果有语法错误,请不要担心。我刚刚输入了sn-p。问题在于执行传输读取操作的 javascript。

这是我的代码 sn-p。

********* HTML *********

<html>
<head>
<link rel="stylesheet" href="~/Content/kendo/kendo.common.min.css" />
<link rel="stylesheet" hre="~/Content/kendo/kendo.default.min.css" />

<script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript">  </script>


<script src="~/Scripts/kendo/kendo.all.min.js"></script>
<script src="~/Scripts/kendo/kendo.aspnetmvc.min.js"></script>

<script src="~/Scripts/test.js" type="text/javascript"></script>

</head>
<body>
<div id="grid"></div>
</body>
</html>

*********************************后面的代码

[HttpGet]
    public JsonResult GetMyData()
    {int testId=1;
        TestManager mana = new TestManager();
        List<MyTestDataModel> retVal = mana.GetMyTestData(testId);
        return Json(retVal, JsonRequestBehavior.AllowGet);`
    }

****************************** Javascript test.js ****************** ****

   function PopulateWellGrid(level) {
    $("#grid").kendoGrid({
        dataSource: {
            type: "json",
            transport: {
                read: {
                    url: '/Home/GetMyData',
                    //url: '@Url.Action("GetMyData", "Home")'
                    dataType: "json",
                    type: "GET"
                }
            },
            pageSize: 6,
            serverPaging: true,
            serverSorting: true
        },
        height: 600,
        sortable: true,
        pageable: true,
        //detailInit: detailInit,
        dataBound: function () {
            this.expandRow(this.tbody.find("tr.k-master-row").first());
        },
        columns: [
            {
                field: "Id",
                title: "ID",
                width: "110px"
            },
            {
                field: "TestId",
                title: "Test Id",
                width: "110px"
            },
            {
                field: "Name",
                title: "First Name",
                width: "110px"
            },
            {
                field: "Status",
                width: "110px"
            },
            {
                field: "StartDate",
                width: "110px"
            }
        ]
    });
}

【问题讨论】:

    标签: user-interface model-view-controller kendo-ui grid


    【解决方案1】:

    尝试关注它是否适合您。我将展示在类似设置中对我有用的东西。我在服务器端有type: 'aspnetmvc-ajax'type:'POST' 以及我用它装饰的方法[HttpPost]。但是,我在服务器端有两种方法,第一种方法返回视图,第二种方法返回数据。

    function PopulateWellGrid(level) {
        $("#grid").kendoGrid({
            dataSource: {
                type: 'aspnetmvc-ajax',
                transport: {
                    read: {
                        url: '/Home/GetMyData',
                        //url: '@Url.Action("GetMyData", "Home")'
                        dataType: "json",
                        type: "POST"
                    }
                },
                pageSize: 6,
                serverPaging: true,
                serverSorting: true
            },
            height: 600,
            sortable: true,
            pageable: true,
            //detailInit: detailInit,
            dataBound: function () {
                this.expandRow(this.tbody.find("tr.k-master-row").first());
            },
            columns: [
                {
                    field: "Id",
                    title: "ID",
                    width: "110px"
                },
                {
                    field: "TestId",
                    title: "Test Id",
                    width: "110px"
                },
                {
                    field: "Name",
                    title: "First Name",
                    width: "110px"
                },
                {
                    field: "Status",
                    width: "110px"
                },
                {
                    field: "StartDate",
                    width: "110px"
                }
            ]
        });
    }
    
    [HttpGet]
    public ActionResult Index(){
    
    return View();
    }
    [HttpPost]
        public JsonResult GetMyData()
        {int testId=1;
            TestManager mana = new TestManager();
            List<MyTestDataModel> retVal = mana.GetMyTestData(testId);
            return Json(retVal);`
        }
    

    【讨论】:

    • 感谢您的回复 Mitul。但它也不起作用。我尝试使用 GET 和 POST。我尝试调用读取操作以查看它是否有效,这就是我尝试的方法。$.ajax({ type: 'GET', cache: false, url: '/Home/GetAllWellsForLevel', dataType: 'json', / /data: 'HeirarchyId=' + level, success: function (data) {
    • 您是否看到任何通过 fiddler 拨打的电话?
    • 不。没有拨打电话。这让我很困惑。 Ajax 调用在哪里进行。
    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多