FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 5063|回复: 6
打印 上一主题 下一主题

FineUIMvc没有后台行绑定事件,怎么破?

[复制链接]
跳转到指定楼层
楼主
发表于 2017-3-20 14:56:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没有发现MVC版的实现,这个功能很常用啊,开源版是有的,希望加上

沙发
发表于 2017-3-20 15:15:03 | 只看该作者
MVC 和 WebForms 的开发方式有本质的不同,WebForms中 Grid 的 RowDataBound 是个服务器端事件,而 MVC 没有这个概念。

在 FineUIMvc 中,你可以使用客户端行绑定事件来实现相同的效果,对比:

行选择(禁止选择行):
------------------------------------------------
WebForms:http://fineui.com/demo_pro/#/dem ... _rowselectable.aspx
MVC:http://fineui.com/demo_mvc/#/demo_mvc/Grid/CheckAllRowSelectable

行样式:
------------------------------------------------
WebForms:http://fineui.com/demo_pro/#/dem ... le_rowcssclass.aspx
MVC:http://fineui.com/demo_mvc/#/demo_mvc/Grid/StyleRowDataBound


行绑定事件:------------------------------------------------
WebForms:http://fineui.com/demo_pro/#/demo_pro/grid/grid_rowdatabound.aspx
MVC:http://fineui.com/demo_mvc/#/demo_mvc/Grid/RowDataBoundRowClass
MVC:http://fineui.com/demo_mvc/#/demo_mvc/Grid/RowDataBoundCellClass





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
发表于 2017-3-20 15:56:54 | 只看该作者
那在mvc里,是不是没法像webform里的模板列那样,在模板列里调用后台的类方法,比如这样?
<x:TemplateField HeaderText="出勤数" Width="60px" TextAlign="Right" ColumnID="IsACount">
                            <ItemTemplate><%#Training.Core.Train.Arrangement.Service.AttendanceService.Count(String.Format("LID={0} AND IsA=1",Eval("LID"))) %>
                            </ItemTemplate>
                        </x:TemplateField>
地板
发表于 2017-3-20 15:57:51 | 只看该作者
sanshi 发表于 2017-3-20 15:15
MVC 和 WebForms 的开发方式有本质的不同,WebForms中 Grid 的 RowDataBound 是个服务器端事件,而 MVC 没 ...


那在mvc里,是不是没法像webform里的模板列那样,在模板列里调用后台的类方法,比如这样?
<x:TemplateField HeaderText="出勤数" Width="60px" TextAlign="Right" ColumnID="IsACount">
                            <ItemTemplate><%#Training.Core.Train.Arrangement.Service.AttendanceService.Count(String.Format("LID={0} AND IsA=1",Eval("LID"))) %>
                            </ItemTemplate>
                        </x:TemplateField>
5#
发表于 2017-3-20 17:04:22 | 只看该作者
Evanyi 发表于 2017-3-20 15:57
那在mvc里,是不是没法像webform里的模板列那样,在模板列里调用后台的类方法,比如这样?

            ...

是的,MVC里没有模板列的概念。用表格列的 RendererFunction 在客户端渲染
6#
 楼主| 发表于 2017-3-21 10:57:36 | 只看该作者
渲染的时候没办法(同步)后台数据交互,异步的可以实现但是太复杂了,建议暴露一个对象到JArry接口,或者 grid1.DataSource 支持json数据(貌似现在不支持),自己后台做转换。
7#
 楼主| 发表于 2017-3-21 10:59:07 | 只看该作者
渲染的时候没办法(同步)后台数据交互,异步的可以实现但是太复杂了,建议暴露一个对象到JArry接口,或者 grid1.DataSource 支持json数据(貌似现在不支持),自己后台做转换。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-24 09:35 , Processed in 0.046112 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表