FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 4199|回复: 4
打印 上一主题 下一主题

我来贡献点代码,让FineUI数据绑定支持dynamic对象

[复制链接]
回帖奖励 6 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次
跳转到指定楼层
楼主
发表于 2016-5-28 09:19:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 飘移 于 2016-5-28 09:27 编辑

FineUI非常好用,但是有一个缺点,就是不支持dynamic对象的数据绑定。查了一下源代码,找了解决方案,其实只需要几行代码就可以搞定,这就是开源的好处。
本想直接在CodePlex上贡献代码,但不知道怎么加入项目,直接写在这儿吧,如果三石觉得有用,可以考虑合并在FineUI的下一个版本中。

这是ObjectUtil类的GetPropertyValue方法,加上4行代码,即可实现对dynamic对象的绑定,有需要的朋友可以试试。

  1.         public static object GetPropertyValue(object obj, string propertyName)
  2.         {
  3.             object result = null;

  4.             try
  5.             {
  6.                 if (obj is DataRow)
  7.                 {
  8.                     result = (obj as DataRow)[propertyName];
  9.                 }
  10.                 else if (obj is DataRowView)
  11.                 {
  12.                     result = (obj as DataRowView)[propertyName];
  13.                 }
  14.                 else if (obj is IDictionary<string, object>)    //新增的代码--开始
  15.                 {
  16.                     result = (obj as IDictionary<string, object>)[propertyName];
  17.                 }                                                             //新增的代码--结束
  18.                 else if (obj is JObject)
  19.                 {
  20.                     result = (obj as JObject).Value<JValue>(propertyName).Value; //.getValue(propertyName);
  21.                 }
  22.                 else
  23.                 {
  24.                     result = GetPropertyValueFormObject(obj, propertyName);
  25.                 }
  26.             }
  27.             catch (Exception)
  28.             {
  29.                 // 找不到此属性
  30.             }

  31.             return result;
  32.         }
复制代码



沙发
发表于 2016-5-28 12:21:52 | 只看该作者

回帖奖励 +1 金钱

多谢,会加入开源版下个版本中(v4.2.4)
板凳
发表于 2016-7-21 08:28:45 | 只看该作者

回帖奖励 +1 金钱

请问什么是dynamic对象?
5#
发表于 2016-9-2 17:17:30 | 只看该作者

回帖奖励 +1 金钱

sanshi 发表于 2016-5-28 12:21
多谢,会加入开源版下个版本中(v4.2.4)

能不能解释一下什么是dynamic   新手
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-23 01:45 , Processed in 0.044611 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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