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


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

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

      1 /*********************************************************
      2  * 开发人员:QLQ
      3  * 创建时间:
      4  * 描述说明:保存列表页面加载时的URL参数信息,并提交给底层进行页面数据加载工作
      5  * 更改历史:2016-12-15 优化数据验证
      6  * 
      7  * *******************************************************/
      8 
      9 using System;
     10 using System.Collections.Generic;
     11 using System.Linq;
     12 using System.Text;
     13 
     14 namespace HfQueryFrame.Func
     15 {
     16     [Serializable]
     17     public class HfRequestParam
     18     {
     19         private string _QueryCode = string.Empty;
     20         /// <summary>
     21         /// 查询编号
     22         /// </summary>
     23         public string QueryCode
     24         {
     25             get
     26             {
     27                 if (string.IsNullOrEmpty(_QueryCode))
     28                 {
     29                     throw new HfQueryPlatException("查询编号(QueryCode)参数无效!");
     30                 }
     31                 return _QueryCode;
     32             }
     33             set
     34             {
     35                 if (string.IsNullOrEmpty(value))
     36                 {
     37                     throw new HfQueryPlatException("查询编号(QueryCode)参数无效!");
     38                 }
     39                 _QueryCode = value;
     40             }
     41         }
     42 
     43         private HfSystemFrame.ParamData.HfKeyValueParam _QueryCond = null;
     44         /// <summary>
     45         /// 默认查询条件(此参数需要进行参数替换,如用户、部门)
     46         /// </summary>
     47         public HfSystemFrame.ParamData.HfKeyValueParam QueryCond
     48         {
     49             get { return _QueryCond; }
     50             set { _QueryCond = value; }
     51         }
     52 
     53         private int _CurrentPage = 1;
     54         /// <summary>
     55         /// 当前页
     56         /// </summary>
     57         public int CurrentPage
     58         {
     59             get { return _CurrentPage; }
     60             set
     61             {
     62                 if (value != _CurrentPage)
     63                 {
     64                     if (value < 1)
     65                     {
     66                         value = 1;
     67                     }
     68                     else
     69                     {
     70                         _CurrentPage = value;
     71                     }
     72                 }
     73             }
     74         }
     75 
     76         private Func.HfQueryCriteria _AdvQueryString;
     77         /// <summary>
     78         /// 高级查询条件
     79         /// </summary>
     80         public Func.HfQueryCriteria AdvQueryString
     81         {
     82             get
     83             {
     84                 if (_AdvQueryString == null)
     85                 {
     86                     _AdvQueryString = new HfQueryCriteria("");
     87                 }
     88                 return _AdvQueryString;
     89             }
     90             set { _AdvQueryString = value; }
     91         }
     92 
     93         private string _ShowPageTitle = "Yes";
     94         /// <summary>
     95         /// 是否显示标题(默认为No)
     96         /// </summary>
     97         public string ShowPageTitle
     98         {
     99             get
    100             {
    101                 if (string.IsNullOrEmpty(_ShowPageTitle))
    102                     _ShowPageTitle = "Yes";
    103                 return _ShowPageTitle;
    104             }
    105             set
    106             {
    107                 if (string.IsNullOrEmpty(value))
    108                 {
    109                     _ShowPageTitle = "No";
    110                 }
    111                 else if (value != "Yes" && value != "No")
    112                 {
    113                     throw new HfQueryPlatException("查询参数(ShowPageTitle)无效!");
    114                 }
    115                 else
    116                 {
    117                     _ShowPageTitle = value;
    118                 }
    119             }
    120         }
    121 
    122         private string _IsReadOnly = "No";
    123         /// <summary>
    124         /// 是否为只读(不会显示任何操作按钮),只读为Yes,非只读为No,默认为No
    125         /// </summary>
    126         public string IsReadOnly
    127         {
    128             get
    129             {
    130                 if (string.IsNullOrEmpty(_IsReadOnly))
    131                     _IsReadOnly = "No";
    132                 return _IsReadOnly;
    133             }
    134             set
    135             {
    136                 if (string.IsNullOrEmpty(value))
    137                 {
    138                     _IsReadOnly = "No";
    139                 }
    140                 else if (value != "Yes" && value != "No")
    141                 {
    142                     throw new HfQueryPlatException("查询的参数(IsReadOnly)无效!");
    143                 }
    144                 else
    145                 {
    146                     _IsReadOnly = value;
    147                 }
    148             }
    149         }
    150 
    151         private string _QueryOrderby = string.Empty;
    152         /// <summary>
    153         /// 排序字段(如果为空,默认应用配置字段排序)
    154         /// </summary>
    155         public string QueryOrderby
    156         {
    157             get { return _QueryOrderby; }
    158             set
    159             {
    160                 if (value != _QueryOrderby)
    161                 {
    162                     _QueryOrderby = value ?? "";
    163                 }
    164             }
    165         }
    166 
    167         private string _QueryModel = "General";
    168         /// <summary>
    169         /// 列表模式,General(一般)、Dialog(弹出),系统默认为General
    170         /// </summary>
    171         public string QueryModel
    172         {
    173             get { return _QueryModel; }
    174             set { _QueryModel = value; }
    175         }
    176 
    177         private string _SelectType = string.Empty;
    178         /// <summary>
    179         /// 列表选择模式(只有标识为弹出框模式该项才有效),Single(单选)、Multiple(多选)
    180         /// </summary>
    181         public string SelectType
    182         {
    183             get { return _SelectType; }
    184             set
    185             {
    186                 if (QueryModel == "Dialog" && (value != "Single" && value != "Multiple"))
    187                 {
    188                     throw new HfQueryPlatException("查询的参数(SelectType)无效!");
    189                 }
    190                 _SelectType = value;
    191             }
    192         }
    193 
    194         /// <summary>
    195         /// 是否分页,若不分页,value为No
    196         /// </summary>
    197         public string IsTurnPage { get; set; }
    198     }
    199 }
    View Code

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

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

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

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

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

    【待续】

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

  • 相关阅读:
    The Balance POJ 2142 扩展欧几里得
    扩展欧几里得定理总结
    Crashing Robots POJ 2632 简单模拟
    POJ 1328 Radar Installation 贪心算法
    The Pilots Brothers' refrigerator DFS+枚举
    HDU RSA 扩展欧几里得
    HDU A/B 扩展欧几里得
    ACM 数学
    E
    BZOJ 3223: Tyvj 1729 文艺平衡树
  • 原文地址:https://www.cnblogs.com/quluqi/p/HFun_ListParam.html
Copyright © 2020-2023  润新知