asp.net-mvc – 如何将行的模型从Kendo Grid传递到可编辑的模板
发布时间:2020-12-15 19:47:23 所属栏目:asp.Net 来源:网络整理
导读:我有一个Kendo Grid,它有一个弹出式可编辑模板, 如果可能,我想将模型(行的模型,或至少其Id)传递给可编辑模板 格 @(Html.Kendo().GridClient() .Name("grid") .Columns(columns = { columns.Bound(c = c.Name).Width(140); columns.Bound(c = c.Status); colu
我有一个Kendo Grid,它有一个弹出式可编辑模板,
如果可能,我想将模型(行的模型,或至少其Id)传递给可编辑模板 格 @(Html.Kendo().Grid<Client>() .Name("grid") .Columns(columns => { columns.Bound(c => c.Name).Width(140); columns.Bound(c => c.Status); columns.Bound(c => c.ProcesingStyle); columns.Bound(c => c.ArchiveDays); columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(" "); ; }).Width(90); }) .ToolBar(toolbar => toolbar.Create().Text("New")) .Editable(editable => editable .Mode(GridEditMode.PopUp) .TemplateName("Client").AdditionalViewData(new { Client = Model }) .Window(w => w.Title("Site"))) .HtmlAttributes(new { style = "height: 380px;" }) .Scrollable() .Sortable() .Selectable() .Resizable(resize => resize.Columns(true)) .Reorderable(reorder => reorder.Columns(true)) .Events(events => events.Change("onChange")) .Pageable(pageable => pageable .Refresh(true) .PageSizes(true) .ButtonCount(5)) .DataSource(dataSource => dataSource .Ajax() .Read(read => read.Action("Get","Clients")) .Model(model => model.Id(p => p.Id)) .Create(update => update.Action("Create","Clients")) .Update(update => update.Action("Update","Clients")) .Destroy(update => update.Action("Destroy","Clients")) ) ) 模板 @model Client @(Html.Kendo().ComboBoxFor(m => m.Plan) .DataTextField("Name") .DataValueField("Id") .Placeholder("Select Plan...") .HtmlAttributes(new { style = "width:300px" }) .Filter(FilterType.Contains) .MinLength(3) .DataSource(source => source.Read(read => read.Action("GetPlans","Plans",new {ClientId = Model.Id})))) 一切正常,除了我需要使用模板内的行/模型的Id,特别是,我需要将模型.Id(行的模型的id)传递给Combobox上的动作在模板中,所以我可以正确过滤数据 这是网格中的违规行, .TemplateName("Client").AdditionalViewData(new { Client = Model }) 结果是模板内的模型总是为null,我不知道如何将我需要的数据传递给模板 无论如何我能做到这一点,还是我应该看一个不同的方法? 解决方法
我解决这个问题的方法是在原始视图中放置一个javascript函数,如下所示
function getClientId() { var row = $(event.srcElement).closest("tr"); var grid = $(event.srcElement).closest("[data-role=grid]").data("kendoGrid"); var dataItem = grid.dataItem(row); if (dataItem) return { clientId: dataItem.Id } else return { clientId: null } } 并从我的编辑器模板中引用它 .DataSource(source => source.Read(read => read.Action("GetPlans","Plans").Data("getClientId")))) 注意:我很确定你不能从EditorTemplate运行javascript,所以它需要被放在原始视图中 如果其他人可以更好地回答这个问题,或者有不同的答案,那么就会相应地标记你的答 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC 4 Catch-all仅在本地而不是在远
- 您完整的ASP.net开发环境是什么?
- asp.net-mvc – ASP MVC ChildActionOnly应该有路由
- asp.net-mvc – asp.net mvc ajax post – redirecttoactio
- 解决T4模板的程序集引用的五种方案
- asp.net-mvc – 可以在ASP.NET MVC中本地化URL /路由吗?
- ASP.net vnext依赖注入
- asp.net-mvc – 在自定义Html帮助器中访问模型对象
- asp.net – Jquery在页面加载时从列表中获取选定单选按钮
- API Test WebApiTestClient工具安装及使用
推荐文章
站长推荐
- .net – 任何具有Postsharp生产经验的人?
- 如何刷新#include文件 – 它们在IIS7 / ASP.NET上
- .net – 部署预编译的Razor视图并删除Views文件夹
- asp.net – 什么是DefaultWsdlHelpGenerator.asp
- asp.net-mvc – 如何将默认值显示为空白而不是类
- asp.net – Web.config Build vs Release transf
- Asp.Net Mvc中动态数据的替代方案
- ASP.NET成员资格:存储当前用户ID的位置?
- asp.net – 我想要一个Master UserControl(一个M
- asp.net-mvc – 如何在MVC3中创建一个隐藏字段?
热点阅读