权限系统发现BUG,请按提示升级
权限系统发现BUG,请按提示升级
系统管理模块权限系统发现BUG:
1. 新增角色保存后,再点修改按钮, 修改数据后点保存,系统抛出异常, 原因是tb_MyRole表预设是isid作为主键,在新增后isid值为空,因此点修改无法取出当前数据.

2. 删除角色和菜单没有加Dataset条件,因此在多业务帐套环境下会删除所有相同的编号, 单个帐套不存在问题.
3. tb_MyMenu,tb_MyRole,tb_MyGroup三张表增加记录主键RowID, 新增记录时分配GUID32字符, 解决Bug1
SQL脚本,添加RowID字段:
SQL Code:
--添加字段, 手工给RowID设索引
ALTER TABLE tb_MyGroup ADD RowID VARCHAR(32)
ALTER TABLE tb_MyRole ADD RowID VARCHAR(32)
ALTER TABLE tb_MyMenu ADD RowID VARCHAR(32)
--更新预设数据
UPDATE dbo.tb_MyGroup SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyRole SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyMenu SET RowID=REPLACE(NEWID(),'-','')
//来源:C/S框架网(www.csframework.com) QQ:1980854898
--添加字段, 手工给RowID设索引
ALTER TABLE tb_MyGroup ADD RowID VARCHAR(32)
ALTER TABLE tb_MyRole ADD RowID VARCHAR(32)
ALTER TABLE tb_MyMenu ADD RowID VARCHAR(32)
--更新预设数据
UPDATE dbo.tb_MyGroup SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyRole SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyMenu SET RowID=REPLACE(NEWID(),'-','')
//来源:C/S框架网(www.csframework.com) QQ:1980854898
bllRole.cs文件修改:
C# Code:
/// <summary>
/// 创建当前角色用于绑定文本框的数据源
/// </summary>
/// <param name="sourceRow"></param>
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyRole.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyRole.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 创建当前角色用于绑定文本框的数据源
/// </summary>
/// <param name="sourceRow"></param>
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyRole.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyRole.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
bllMenu.cs文件 AddOrUpdateMenu方法:
C# Code:
//导入菜单
DataRow append = menuData.NewRow();
append[tb_MyMenu.RowID] = Globals.NewRowID();//GUID32,去掉"-"分隔符
//来源:C/S框架网(www.csframework.com) QQ:1980854898
//导入菜单
DataRow append = menuData.NewRow();
append[tb_MyMenu.RowID] = Globals.NewRowID();//GUID32,去掉"-"分隔符
//来源:C/S框架网(www.csframework.com) QQ:1980854898

bllGroup.cs文件修改:
C# Code:
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyGroup.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyGroup.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyGroup.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyGroup.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
frmGroupManagement.cs文件修改DoDelete方法:

*** 更新后仍有问题请QQ联系 ***
VIP用户请下载三张表的ORM Model文件

参考文档:
VS2022编译解决方案为什么会生成2级Debug子目录|C/S开发框架
EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架
VS编译生成的DEBUG目录中所有文件格式解析-C/S开发框架
VS解决方案快速改名工具(CSFramework.Rename)-获取文件列表BUG
C#程序判断DEBUG测试环境和RELEASE正式环境
修复BUG:WebApiTools.Get方法支持https协议
修复BUG:WebApiTools.Post方法支持Https协议
解决CSFramework企业版v4.x旗舰版v5.0设置皮肤不同步BUG
BUG: 系统管理-模块管理-frmModuleMgr.cs文件
BUG: dalUser.CopyPermission方法
校验明细表数据ValidatingDetailData方法有BUG
开发框架修正重要bug,使用SqlDataAdapter.Update方法后没有关闭SQL连接
企业版:CommonData.cs ,GetEmptyTable()方法有Bug
优化代码发现奇异现象,难道是VS的BUG???
V4:菜单管理有bug, 已修正
WCF:ServiceDebugBehavior.IncludeExceptionDetailInFaults 属性设置
VS2022编译解决方案为什么会生成2级Debug子目录|C/S开发框架
EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架
VS编译生成的DEBUG目录中所有文件格式解析-C/S开发框架
VS解决方案快速改名工具(CSFramework.Rename)-获取文件列表BUG
C#程序判断DEBUG测试环境和RELEASE正式环境
修复BUG:WebApiTools.Get方法支持https协议
修复BUG:WebApiTools.Post方法支持Https协议
解决CSFramework企业版v4.x旗舰版v5.0设置皮肤不同步BUG
BUG: 系统管理-模块管理-frmModuleMgr.cs文件
BUG: dalUser.CopyPermission方法
校验明细表数据ValidatingDetailData方法有BUG
开发框架修正重要bug,使用SqlDataAdapter.Update方法后没有关闭SQL连接
企业版:CommonData.cs ,GetEmptyTable()方法有Bug
优化代码发现奇异现象,难道是VS的BUG???
V4:菜单管理有bug, 已修正
WCF:ServiceDebugBehavior.IncludeExceptionDetailInFaults 属性设置
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
