HFun.快速开发平台(四)=》自定义列表实例(请求参数的处理)

    xiaoxiao2021-03-26  26

    上编自定义列表描述了自定义列表的基本实现功能,本此记录列表的请求过程。

    个人比较喜欢对参数进行对象化,方便后续人维护及查看,先上代码:

    /********************************************************* * 开发人员:QLQ * 创建时间: * 描述说明:保存列表页面加载时的URL参数信息,并提交给底层进行页面数据加载工作 * 更改历史:2016-12-15 优化数据验证 * * *******************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HfQueryFrame.Func { [Serializable] public class HfRequestParam { private string _QueryCode = string.Empty; /// <summary> /// 查询编号 /// </summary> public string QueryCode { get { if (string.IsNullOrEmpty(_QueryCode)) { throw new HfQueryPlatException("查询编号(QueryCode)参数无效!"); } return _QueryCode; } set { if (string.IsNullOrEmpty(value)) { throw new HfQueryPlatException("查询编号(QueryCode)参数无效!"); } _QueryCode = value; } } private HfSystemFrame.ParamData.HfKeyValueParam _QueryCond = null; /// <summary> /// 默认查询条件(此参数需要进行参数替换,如用户、部门) /// </summary> public HfSystemFrame.ParamData.HfKeyValueParam QueryCond { get { return _QueryCond; } set { _QueryCond = value; } } private int _CurrentPage = 1; /// <summary> /// 当前页 /// </summary> public int CurrentPage { get { return _CurrentPage; } set { if (value != _CurrentPage) { if (value < 1) { value = 1; } else { _CurrentPage = value; } } } } private Func.HfQueryCriteria _AdvQueryString; /// <summary> /// 高级查询条件 /// </summary> public Func.HfQueryCriteria AdvQueryString { get { if (_AdvQueryString == null) { _AdvQueryString = new HfQueryCriteria(""); } return _AdvQueryString; } set { _AdvQueryString = value; } } private string _ShowPageTitle = "Yes"; /// <summary> /// 是否显示标题(默认为No) /// </summary> public string ShowPageTitle { get { if (string.IsNullOrEmpty(_ShowPageTitle)) _ShowPageTitle = "Yes"; return _ShowPageTitle; } set { if (string.IsNullOrEmpty(value)) { _ShowPageTitle = "No"; } else if (value != "Yes" && value != "No") { throw new HfQueryPlatException("查询参数(ShowPageTitle)无效!"); } else { _ShowPageTitle = value; } } } private string _IsReadOnly = "No"; /// <summary> /// 是否为只读(不会显示任何操作按钮),只读为Yes,非只读为No,默认为No /// </summary> public string IsReadOnly { get { if (string.IsNullOrEmpty(_IsReadOnly)) _IsReadOnly = "No"; return _IsReadOnly; } set { if (string.IsNullOrEmpty(value)) { _IsReadOnly = "No"; } else if (value != "Yes" && value != "No") { throw new HfQueryPlatException("查询的参数(IsReadOnly)无效!"); } else { _IsReadOnly = value; } } } private string _QueryOrderby = string.Empty; /// <summary> /// 排序字段(如果为空,默认应用配置字段排序) /// </summary> public string QueryOrderby { get { return _QueryOrderby; } set { if (value != _QueryOrderby) { _QueryOrderby = value ?? ""; } } } private string _QueryModel = "General"; /// <summary> /// 列表模式,General(一般)、Dialog(弹出),系统默认为General /// </summary> public string QueryModel { get { return _QueryModel; } set { _QueryModel = value; } } private string _SelectType = string.Empty; /// <summary> /// 列表选择模式(只有标识为弹出框模式该项才有效),Single(单选)、Multiple(多选) /// </summary> public string SelectType { get { return _SelectType; } set { if (QueryModel == "Dialog" && (value != "Single" && value != "Multiple")) { throw new HfQueryPlatException("查询的参数(SelectType)无效!"); } _SelectType = value; } } /// <summary> /// 是否分页,若不分页,value为No /// </summary> public string IsTurnPage { get; set; } } }

    代码中将一个列表的基本数据参数列出,并对参数进行了基本的数据校验。

    所有的列表请求方式基本相同,只是将编号及参数进行更换,如:

    List.aspx?Code=Sys_SDFK3J9F4HG3G324G4G532HG5&Param=XXX&CurrentPage=3

    值得要说的是编号命名,必须要无规则!

    列表参数如此,表单、流程等也基本这个思路,将参数对象化,方便维护。

    【待续】

    (欢迎转载,转载请注明:HFun.快速开发平台)

    转载请注明原文地址: https://ju.6miu.com/read-450068.html

    最新回复(0)