diff --git a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs
index bff062cd..985f4237 100644
--- a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs
+++ b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs
@@ -8,13 +8,8 @@ namespace Bootstrap.Pages.Admin.Components
///
/// 字典表维护组件
///
- public class DictsBase : PageBase
+ public class DictsBase : QueryPageBase
{
- ///
- /// 获得/设置 BootstrapDict 实例
- ///
- protected BootstrapDict QueryModel { get; set; } = new BootstrapDict() { Define = -1 };
-
///
/// 获得/设置 字典类别集合
///
@@ -25,12 +20,20 @@ namespace Bootstrap.Pages.Admin.Components
///
protected List QueryDefine { get; set; } = new List(new SelectedItem[] { new SelectedItem() { Text = "全部", Value = "-1", Active = true }, new SelectedItem() { Text = "系统使用", Value = "0" }, new SelectedItem() { Text = "自定义", Value = "1" } });
+ ///
+ /// 获得/设置 查询条件集合
+ ///
+ protected override void OnInitialized()
+ {
+ QueryModel.Define = -1;
+ }
+
///
/// 查询方法
///
/// 页码
/// 每页显示数据条目数量
- protected QueryData Query(int pageIndex, int pageItems)
+ protected override QueryData Query(int pageIndex, int pageItems)
{
var data = DataAccess.DictHelper.RetrieveDicts();
if (QueryModel.Define != -1) data = data.Where(d => d.Define == QueryModel.Define);
@@ -41,23 +44,14 @@ namespace Bootstrap.Pages.Admin.Components
return new QueryData() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems };
}
- ///
- /// 新建方法
- ///
- ///
- protected BootstrapDict Add()
- {
- return new BootstrapDict();
- }
-
///
/// 保存方法
///
- protected bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict);
+ protected override bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict);
///
/// 删除方法
///
- protected bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? ""));
+ protected override bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? ""));
}
}
diff --git a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs
new file mode 100644
index 00000000..19870852
--- /dev/null
+++ b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs
@@ -0,0 +1,39 @@
+using System.Collections.Generic;
+using Bootstrap.Admin.Components;
+
+namespace Bootstrap.Pages.Admin.Components
+{
+ ///
+ /// 页面组件基类
+ ///
+ public abstract class QueryPageBase : PageBase where TItem : class, new()
+ {
+ ///
+ /// 获得/设置 TItem 实例
+ ///
+ protected TItem QueryModel { get; set; } = new TItem();
+
+ ///
+ /// 查询方法
+ ///
+ /// 页码
+ /// 每页显示数据条目数量
+ protected abstract QueryData Query(int pageIndex, int pageItems);
+
+ ///
+ /// 新建方法
+ ///
+ ///
+ protected TItem Add() => new TItem();
+
+ ///
+ /// 保存方法
+ ///
+ protected abstract bool Save(TItem dict);
+
+ ///
+ /// 删除方法
+ ///
+ protected abstract bool Delete(IEnumerable items);
+ }
+}