【问题标题】:Kendo Grid Read Action Not Passing Data To Controller Via the .Data Method CallKendo Grid 读取操作未通过 .Data 方法调用将数据传递给控制器
【发布时间】:2014-10-02 15:34:01
【问题描述】:

我有一个 Kendo Grid (MVC Razor),我试图通过 Read 方法的 .Data 调用将额外数据传递给控制器​​:

   @(Html.Kendo().Grid<AssignedSiteGridPoco>()
        .Name("UnAssignedSiteGrid")
        .Filterable()
        .Sortable()
        .Pageable(pageable => pageable
            .Refresh(true)
            .PageSizes(true)
            .ButtonCount(5))
        .Columns(columns =>
        {
            columns.Bound(p => p.SiteId).Hidden();
            columns.Bound(p => p.SiteName).Title("Site Name").Width(180);
            columns.Bound(p => p.City).Title("City").Width(80);
            columns.Bound(p => p.StateName).Title("State Name").Width(100);
            columns.Command(command => command
                                      .Custom("Add")
                                      .Click("unassignedSiteGridClick")
                           ).Width(90);
        })
        .Scrollable()
        .Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
        .Resizable(resize => resize.Columns(true))
        .Events(events =>
        {
            //events.Change("GridChange");
            //events.DataBound("OnDataBound");
        })
        .DataSource(dataSource => dataSource
            .Ajax()
            .Model(model =>
            {
                model.Id(p => p.SiteId);
                model.Field(p => p.SiteName);
                model.Field(p => p.City).Editable(false);
                model.Field(p => p.StateName).Editable(false);

            })
            .PageSize(15)
            .Read(read => read.Action("GetUnassignedSiteGridDataList",  "Manager").Data("getUserRightName"))

        ))

放置在grid div上方的Javascript块如下:

 function getUserRightName() {
      return
      {
          UserRightName : "2"
      };
 }

还有控制器:

 public JsonResult GetUnassignedSiteGridDataList([DataSourceRequest]DataSourceRequest request, string UserRightName)
{
    var model = new AssignedSiteGridPoco();
    var siteList = _managerPresentationService.GetUnassignedSiteGridDataList(model);
    return Json(siteList.ToDataSourceResult(request));
}

从视图的读取方法传递的字符串值在“UserRightName”字符串中为空。根据示例,它应该传回文本值“2”我的剑道版本是:2014.2.807 InternalBuild。这个版本在这方面有问题吗?

谢谢, 史蒂文

【问题讨论】:

    标签: razor kendo-ui grid


    【解决方案1】:

    将 json 结构中的键名包含在引号中,即 将您的 js 函数更改为:

     function getUserRightName() {
            return {'UserRightName':"2"};
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2011-01-01
      • 2011-10-16
      相关资源
      最近更新 更多