0

我用劍道網絡的開源版本,我目前的版本是劍道UI的Web 我使用劍道UI和asp.net的MVC 4 我的劍道電網有這樣的JS代碼劍道電網和asp.net網頁API

API控制器
<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>   
         }, 

方法是:

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

但它沒有工作,我做錯了什麼?

+0

1.你應該使用Kendo的ASP.Net MVC Wrapper,它使得代碼更加清晰和易於理解。 2. js的完整代碼塊? – AntSpiteri

+0

爲js添加了完整的塊 – Egor

回答

-1

您的所有命令的網址都指向URL:「/ API/Usermanage /」

這必須具體到控制器內的行動,以便在這種情況下,它應該是:

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

我試圖做到這一點,但它不能幫助 – Egor

+0

在鉻debagger,我可以看到它的後不刪除請求,我不知道爲什麼 – Egor

+0

其他命令的工作? – AntSpiteri