在控制器xyz上找不到公共操作方法'ABC'

时间:2016-04-22 05:32:52

标签: asp.net-mvc kendo-grid

背景

我正在对已经实现的项目进行一些更改,它使用MVC,Kendo Grid.And有一个名为EmployeeSearchByName的动作方法,它接受一个字符串参数'Name'.Kendo Grid的页面大小是每页10条记录,当我正确搜索某人名称控制转到该操作,它根据名称获取员工并在kendo网格中显示它,但当我点击剑道下一页时,我得到错误'控制器xyz上找不到公共操作方法'EmployeeSearchByName' ”。

代码:

(defn about-page-render []
  [:div.container
   [:div.row
    [:div.col-md-12
     "this is the story of asdf... work in progress"]]])

(defn about-page-rendered []
  (do-what-ever-is-necessary))

(defn about-page []
  (r/create-class {:reagent-render about-page-render
                   :component-did-mount about-page-rendered}))

问题:如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Kendo网格发送用于其排序的附加参数&过滤

尝试重写这样的动作方法:

public JsonResult GetIndexContent([DataSourceRequest]DataSourceRequest request, SearchCriteriaViewModel searchCriteria)
{ 
    // your logic ... + return json 
}

我们另外做的是告诉GridBuilder它应该使用哪种Read方法。您甚至可以将searchCriteria添加为参数;

.DataSource(datasource => datasource
                .Ajax()
                .Model(model => model.Id("Id"))
                .Read(read => read.Action("GetIndexContent", "YourControllerName").Data(fetchSearchCriteriaMethodName))
                .PageSize(10)
             );

JavaScript函数'fetchSearchCriteriaMethodName'应该只将您的搜索条件作为JSON对象返回。