jquery - How to pass batch data to controller action from kendo UI grid in case of batch editing? -


i'm trying implement kendo grid in mvc 3 apps. i'm interested in batch editing. need send batch data view controller action method.

here code view:

<!doctype html> <html> <head> <title>     home!! </title>  <link href="../../content/kendo/2013.1.319/kendo.common.min.css" rel="stylesheet" />  <link href="../../content/kendo/2013.1.319/kendo.metro.min.css" rel="stylesheet" /> <script src="../../scripts/jquery-2.0.2.min.js"></script> <script src="../../scripts/kendo/2013.1.319/kendo.web.min.js"></script>  <script type="text/javascript">       var datasource = new kendo.data.datasource({         schema: {             model: {                 id: "employeeid",                 fields: {                     employeeid: { editable: false, nullable: true },                     employeename: { validation: { required: true } }                  }             }         },         transport: {             read: {                 url: "/home/getdata",                 type: "get"             },             update: {                 url: "/home/update",                 type: "post",                 contenttype: 'application/json'             },             destroy: {                 url: "/home/destroy",                 type: "post"             },               create: {                 url: "/home/create",                 type: "post",                 contenttype: 'application/json'             },               pagesize: 20,               parametermap: function (options, operation) {                 if (operation !== "read" && options.models) {                     return { models: kendo.stringify(options.models) };                 }             }         }      });          $(document).ready(function () {           $("#grid").kendogrid({             datasource: datasource,             navigatable: true,             pageable: true,             height: 430,             sortable: true,             toolbar: ["create", "save", "cancel"],             columns: [                  { field: "employeeid", title: "employee id", width: 110 },                 { field: "employeename", title: "employee name", width: 110 },                  { command: "destroy", title: "delete", width: 90 }],             editable: true,             selectable: "multiple row",             groupable: true,             navigatable: true         });     });    </script>  </head> <body>  <div id="example" class="k-content">     <div id="grid"></div>  </div>  </body> </html> 

controller code:

 [httppost]  public jsonresult update(list<employee> model) //parameter gets no data.  {      var obj = new employee();      //return view();      return json(obj);  }  //parameter gets no data. [httppost] public actionresult create(list<employee> model)  {    return view("index"); } 

if i'm not wrong, i'm doing wrong in parameter mapping or signature of action method, can't figure out what? please help. thanks.

what doing wrong did not needs batch sending data server finish editing employeename (exit edit mode) but parametermap function incorrect when sending in non-batch mode because there no model in options (just directly data).

so, either add batch: true datasoure definition (if want go in batch mode):

var datasource = new kendo.data.datasource({     batch: true,     schema: {         model: {             id: "employeeid",             fields: {                 employeeid: { editable: false, nullable: true },                 employeename: { validation: { required: true } }              }         }     },     ... 

or change parameter map return options (only if don't want go batch):

parametermap: function (options, operation) {     if (operation !== "read") {         return options;     } } 

Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -