将模型从视图发送到控制器-Kendo网格

问题描述

我有一个方法可以将视图和模型返回到视图。

public async Task<IActionResult> Upload(IFormFile file){

//code shortened for brevity
ViewBag.Message = String.Format(cmdMessage);
return View("Index",three);

}

并且我有一个Kendo网格的视图,就像这样:

@model IEnumerable<ModelLayer.Models.TableNotificationModel>
@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *,Kendo.Mvc
@using Kendo.Mvc.UI
@{ ViewData["Title"] = "UPLOAD"; }

<div class="clearfix">
    @(Html.Kendo().Grid<ModelLayer.Models.TableNotificationModel>()
        .Name("notificationGrid")
        .Pageable(pageable => pageable.Input(true).Numeric(false))
        .Scrollable()
        .Sortable()
        .Filterable()
        .ColumnMenu()

        .Columns(columns =>
        {
            columns.Bound(c => c.OPERATOR_OBJECTID).Title("ID").Hidden();
            columns.Bound(c => c.SETTLEMENT_OBJECTID).Title("settlement code").Width("100px");
            columns.Bound(c => c.TECHNOLOGY_OBJECTID).Title("tech code").Width("100px");
            columns.Bound(c => c.UPLOAD_SPEED_CLASS_OBJECTID).Title("upload").Width("100px");
            columns.Bound(c => c.DOWNLOAD_SPEED_CLASS_OBJECTID).Title("download").Width("100px");
            columns.Bound(c => c.DATA_CATEGORY_QOS_OBJECTID).Title("data category").Width("100px");
            columns.Bound(c => c.SHAPE).Title("shape").Width("100px");
            columns.Bound(c => c.messageOut).Title("message").Width("100px");
        })
        .Excel(excel => excel
        .FileName("Kendo UI Grid Export.xlsx")
        .Filterable(true)
        .ProxyURL(Url.Action("Excel_Export_Save","Upload")))
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Read(read => read.Action("Upload_Read","Upload").Data("additionalData"))
            )
    )

</div>

<script>
    function additionalData(e) {
        return {
            additional: "custom Text"
        };
    }
</script>

我有这个js函数additionalData,但是我不确定如何将模型从函数发送到控制器中的方法,再到此Upload_read方法,该方法将用数据填充Kendo网格。 / p>

public ActionResult Upload_Read([DataSourceRequest] DataSourceRequest request)
 {
   DataSourceResult dataSource = result.ToDataSourceResult(request);
   return Json(dataSource.ToDataSourceResult(request));
 }

我不确定如何发送模型。有什么建议或建议吗?

解决方法

也许这会派上用场,这是我的写法:

 function sendAdditional() {
        
        var data = JSON.parse('@Html.Raw(Json.Serialize(Model))');
        console.log("index data",data)

        return {
            model: data
        }
    }

和控制器

public ActionResult Upload_Read([DataSourceRequest] DataSourceRequest request,List<TableNotificationModel> model)
        {
            return Json(dataSource.ToDataSourceResult(request));
        }

并且我正在从视图中获取控制器中的模型列表。

,

为什么要将数据发送到服务器,以便以后可以在表中获取它? 如果您只需要构建表,请使用:

<div class="clearfix">
    @(Html.Kendo().Grid(Model)
        .Name("notificationGrid")
   ...

如果问题在排序等,则只需将参数ServerOperation(false)放进去。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...