diff --git a/README.md b/README.md
index 100430ca3803f39b988c535d96045e4d4466e09b..35621c14a96cba31dd09ebd22d8942f11ef4d1d2 100644
--- a/README.md
+++ b/README.md
@@ -27,57 +27,57 @@
## 框架2.0已更新(部分新增功能截图)
增加切换皮肤功能
-
-
+
+
增加可复用的后台请求参数校验
-
+
增加树形菜单与代码生成页面使用
-
+
增加文本编辑器直接发布静态页面功能
-
+
增加真实可用的一对多从表(不限从表数量)扩展
-
+
图表
-
+
## 1、只读基础表单
整个只读的基础表单的所有前后端代码,全部由代码生成器生成,代码生成器中几乎不需要配置,并支持并后端业务代码扩展,直接生成代码后,配置菜单权限即可
-
+
## 2、自动绑定下拉框数据表单
整个自动绑定下拉框数据表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,在代码生成器中只需要指定数据源编号,页面加载时会根据编号自动加载数据源并绑定
-
+
## 3、启用图片支持、审核表单
整个启用图片支持、审核表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,审核功能需要在菜单配置权限、代码生成器中勾选启用图片支持
-
+
## 4、高级查询
整个表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,查询字段、类型(下拉框、日期、TextArea等)、所在行与列都由代码生成器完成,不需要写任何代码
- 
+ 
## 5、主从表新建、编辑
主从表新建、编辑所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,新建、编辑从表配置、字段、类型(下拉框、日期、TextArea等)、所在行与列、字段是否只读、标签显示的长度等都由代码生成器完成,不需要写任何代码
-
+
## 6、excel导入
excel导入整个页面都由代码生成器生成,导入的字段、字段是否必填,下载模板也由代码生成器上配置(自己根据实际需要决定是否采用此方法),导入时会验证是否为空与数据的合法性,逻辑校验自己实现扩展方法即可
-
+
## 7、H5开发
-
+
## 8、权限分配
目前只实现了对用户的角色的Action进行权限分配
-
+
## 9、代码生成器
代码生成器提供了20多种可配置的属性,可灵活配置显示、查询、编辑、导入、导出、主从关系等功能点击看代码生成器文档
-
+
其他功能。。。。。
diff --git a/Vue.Net/VOL.Builder/Services/Core/Partial/Sys_TableInfoService.cs b/Vue.Net/VOL.Builder/Services/Core/Partial/Sys_TableInfoService.cs
index ee8578ce9c660563dfc97017205fccb6b462f1ae..3bec830de3e1658ba642377133d2597b8c31f894 100644
--- a/Vue.Net/VOL.Builder/Services/Core/Partial/Sys_TableInfoService.cs
+++ b/Vue.Net/VOL.Builder/Services/Core/Partial/Sys_TableInfoService.cs
@@ -1,4 +1,4 @@
-using VOL.Builder.Utility;
+using VOL.Builder.Utility;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyModel;
using Newtonsoft.Json;
@@ -698,9 +698,16 @@ DISTINCT
);
panelHtml = new List>();
string formOptions = GetSearchData(panelHtml, sysColumnList, true, true).Serialize() ?? "";
-
- string[] arr = sysTableInfo.Namespace.Split(".");
- string spaceFolder = (arr.Length > 1 ? arr[arr.Length - 1] : arr[0]).ToLower();
+
+ //如果不存在文件夹信息才使用命名空间来填充文件夹名称
+ string spaceFolder = "";
+ if (!string.IsNullOrEmpty(sysTableInfo.FolderName))
+ spaceFolder = sysTableInfo.FolderName;
+ else
+ {
+ string[] arr = sysTableInfo.Namespace.Split(".");
+ spaceFolder = (arr.Length > 1 ? arr[arr.Length - 1] : arr[0]).ToLower();
+ }
pageContent = pageContent.Replace("#columns", columns).
Replace("#TableName", sysTableInfo.TableName).