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.快速开发平台)

posted @ 2017-02-27 10:58  屈鲁奇  阅读(448)  评论(0编辑  收藏  举报