FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 7136|回复: 9
打印 上一主题 下一主题

授权的部分问题,及让无权限按钮灰掉

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-6 16:51:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tukzer 于 2013-5-6 16:58 编辑

在使用APPBOX时发现,当按钮无权限时,直接将其Eanbled=False,但是此时按钮看上去的效果还是可以点击,实际上点击没有反应?请问是否有对应的CSS或者可以通过设置字体的方式,让你变灰或者变暗。
Button里面没有Color相关的树形,CSSSTYLE添加了貌似没用,有什么方案还是我的弄错了?
另外,我这边Grid的列在通过RowDataBound事件设置权限时,发现第一行有时候会可以点击,后续行不可点击,这是什么原因?




        protected void CheckPowerFailWithWindowField(FineUI.Grid grid, string columnId)
        {
            FineUI.WindowField btn = grid.FindColumn(columnId) as FineUI.WindowField;
            btn.Enabled = false;
            btn.ToolTip = CHECK_POWER_FAIL_ACTION_MESSAGE;
        }

为何这段代码必须放到RowDataBound而不是在数据绑定后直接使用呢,他找的对象看起来是一列,而非逐行啊?

请指教,谢谢!

[补充:不好意思,用Chrome浏览器时发现按钮是灰掉的,但是IE10貌似不能灰掉,具体继续研究下]



沙发
发表于 2013-5-6 17:30:54 | 只看该作者
“另外,我这边Grid的列在通过RowDataBound事件设置权限时,发现第一行有时候会可以点击,后续行不可点击,这是什么原因?”
=============
这是一个经典的错误用法,可以参考下:http://www.cnblogs.com/sanshi/archive/2012/10/19/2730381.html

RowDataBound 是行渲染后触发的,所以此时对列属性的改变不会影响最终行的渲染结果,这也是对第一行不起作用的原因。




“Eanbled=False,IE10无法灰掉”
=============
这个可能需要调整CSS吧,用FineUI v3.2.5.3 试下

板凳
 楼主| 发表于 2013-5-6 18:06:21 | 只看该作者
非常感谢如此快速的回复,自己重写了一个EF版的权限管理,发现Grid的几个事件确实没有掌握好!
IE下面不同版本的这个CSS处理确实效果迥异,后面摸索下!谢谢啦,
地板
发表于 2013-5-10 17:38:32 | 只看该作者
tukzer 你好,我在改写为EF时出现了一个问题无法解决,麻烦你帮看看嘛,具体已经在附件里了,先谢谢哈!

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2013-5-13 16:56:55 | 只看该作者
luokaijin 发表于 2013-5-10 17:38
tukzer 你好,我在改写为EF时出现了一个问题无法解决,麻烦你帮看看嘛,具体已经在附件里了,先谢谢哈! ...

不好意思,没及时看到!
你现在确信是因为删除了几个权限声明引起的么?可以调试下ModuleHelper,
或者可以@下sanshi,因为我改写的时候把这一块的内容页改掉了,稍微有些不同。
6#
发表于 2013-5-15 15:06:36 | 只看该作者
本帖最后由 luokaijin 于 2013-5-15 15:12 编辑

tukzer 你好:
我在改写为EF的过程中,代码都是从sanshi给的AppBox复制过来的,其他页面都没问题,只是在“角色模块权限管理”role_module2.aspx页里出了问题。研究了几天也没有找到问题,郁闷!
数据库数据一模一样,public enum ModulePowerType一模一样,public enum ModuleType一模一样,只是修改了RoleModulePowerHelper类下面的GetRoleModuleDictionary(int roleId)方法(从数据库查找角色对应的全部模块权限)而已,其他的都没有动。怎么得到的结果就不一样呢。点击“全选复选框”-》“全部”得到的结果如下图,也不正确。
后台条数的时候看了,获取的数据都正确,可绑定到表格是就好像不正确了,是不是下代码有问题呀:
        protected void Grid2_RowDataBound(object sender, FineUI.GridRowEventArgs e)
        {
            AspNet.CheckBoxList ddlOthers = (AspNet.CheckBoxList)Grid2.Rows[e.RowIndex].FindControl("ddlOthers");
            RoleModulePower row = e.DataItem as RoleModulePower;
            string moduleName = row.ModuleName;
            List<string> otherPowerNames = ModulePowerTypeHelper.GetModuleOtherPowerTypeDic(moduleName);
            foreach (string powerName in otherPowerNames)
            {
                // powerName = "ChangePassword" moduleName = "CoreUser"
                AspNet.ListItem item = new AspNet.ListItem();
                item.Value = powerName;
                item.Text = ModulePowerTypeHelper.GetTitle(moduleName, powerName);
                item.Selected = row.OtherPowers[powerName].Value<bool>();
                ddlOthers.Items.Add(item);
            }
        }
但这代码也是从AppBox复杂过来的呀!!!
也问过sanshi老师了,可他忙吧,也没有帮我看看原代码?
你能帮我看看源代码吗?谢谢了  













本帖子中包含更多资源

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

x
7#
发表于 2013-5-16 17:07:26 | 只看该作者
用新建一“ASP.NET WEB空应用程序” .NET Framework 4,的方式来写sanshi提供的AppBox时,在“角色模块权限”页的表格绑定“其他权限”列显示不正确。今天通过改写sanshi提供的AppBox时,问题得以解决,改写方式为:
1、        打开sanshi提供的AppBox源代码。
2、        右击“AppBox”-》“属性”,“应用程序”-》“目标框架”由2.0改为4.0。
3、        修改Web.config。
4、        删除Subsonic,修改为EF数据库访问方式。
一切OK!

很纳闷,一样的代码,为什么改写就正确呢!!
8#
发表于 2013-5-17 09:30:54 | 只看该作者
问题终于解决了!
在Web.config下的<pages>里添加clientIDMode="AutoID"就OK 了!
9#
 楼主| 发表于 2013-5-19 17:28:08 | 只看该作者
恭喜,话说当时不是提供了一个空的解决方案么!你这个问题能找到满不容易的,哈哈
10#
发表于 2013-6-12 09:42:48 | 只看该作者
我之前也遇到過同樣的問題。還是web.config配置問題,總結了幾點iis7以上配置的注意事項。。壇子裏有帖子的。搜一下可以參考。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-23 20:15 , Processed in 0.059579 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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