簡體   English   中英

Kendo Grid和ASP.NET Web API

[英]Kendo grid and asp.net web api

我使用的是kendo web的開源版本,我的當前版本是Kendo UI Web,我正在使用kendo ui和asp.net mvc 4,我的kendo網格具有此js代碼

<script>
   $(document).ready(function () {
       $("#grid").kendoGrid({
           dataSource: {
               type: "odata",
               serverSorting: true,
               serverFiltering: true,
               serverPaging: true,
               transport: {
                   read: {
                       url: "api/Usermanage",
                       dataType: "json",
                       contentType: "application/json"
                   },
                   create: {
                       url: "/api/Usermanage",
                       dataType: "json",
                       type: "POST"
                   },
                   update: {
                       url: function (UserModel) {
                           return "/api/articles/" + UserModel.ID
                       },
                       dataType: "json",
                       type: "PUT"
                   },
                   destroy: {
                   url: function (UserModel) {
                       return "/api/Usermanage/" + UserModel.ID
                   },
                   dataType: "json",
                   contentType: "application/json",
                   type: "DELETE"
                   },

                   update: {
                       url: function (UserModel) {
                           return "/api/Usermanage/" + UserModel.ID
                       },
                       dataType: "json",
                       type: "PUT"
                   },
                       parameterMap: function(options, operation) {
                           if (operation !== "read" && options.models) {
                               return {models: kendo.stringify(options.models)};
                           }
                       }


               },
               schema: {
                   data: function (response) {
                       if (response.value !== undefined)
                           return response.value;
                       else {
                           delete response["odata.metadata"];
                           return response;
                       }
                   },
                   total: function (response) {
                       return response['odata.count'];
                   },

                   model: {
                       fields: {
                           ID:"ID",
                           ID: { editable: false },
                           Name: { type: "string", editable: true, nullable: false, validation: { required: true } },
                           Roles: { type: "string" }
                       }
                   }
               }
           },
           height: 430,
           scrollable: {
               virtual: true
           },
           toolbar: ["create"],
           editable: "popup",
           sortable: true,
           columns: [
               { field: "Name", title: "UserName", width: 110 },
               { field: "Roles", title: "Role", width: 160 },
               { command: ["edit", "destroy"], title: " ", width: "160px" }
           ]
       });
   });
        </script>         
                       },

api控制器的方法是:

// DELETE api/usermanage/5
        public void Delete(int id)
        {
            var name = db.UserProfiles.Find(id);
            Membership.DeleteUser(name.UserName,true);
        }

但它不起作用,我在做什么錯?

您所有的命令網址都指向網址:“ / api / Usermanage /”

這必須特定於控制器內部的操作,因此在這種情況下應該是:

url: function (UserModel) {
   return "/api/Usermanage/Delete/" + UserModel.ID
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM