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

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

 /*********************************************************
* 开发人员: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 = ;
/// <summary>
/// 当前页
/// </summary>
public int CurrentPage
{
get { return _CurrentPage; }
set
{
if (value != _CurrentPage)
{
if (value < )
{
value = ;
}
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=

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

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

【待续】

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

最新文章

  1. Android-两种方式实现走马灯效果
  2. 关于DButils的简单介绍
  3. SQLServer组件
  4. shell中引用其他脚本的方法
  5. hdu 4150 Powerful Incantation
  6. 第一个关于ajax的代码
  7. 读论文系列:Object Detection SPP-net
  8. CSS使用小记
  9. Disk
  10. R语言|数据特征分析
  11. HttpClient之初步认识与使用1
  12. Eclipse 4.5.0 离线安装 Veloeclipse 插件
  13. PTA 7-50 畅通工程之局部最小花费问题(最小生成树Kruskal)
  14. Hadoop2源码分析-准备篇
  15. numpy库数组拼接np.concatenate的用法
  16. #002 WebStrom Live Templete 使用说明
  17. viewport 编写 iPhone Friendly 的 Web 应用程序
  18. jmeter-----GUI运行和非GUI运行的区别
  19. (Oracle)自定义调用AWR&amp;ADDM
  20. canvas学习(一):线条,图像变换和状态保存

热门文章

  1. UVa 10179 - Irreducable Basic Fractions
  2. ubuntu 如何卸载重装docker
  3. 使用 System.Transactions 进行事物管理
  4. 用scala实现一个基于TCP Socket的快速文件传输程序
  5. JS拖动技术--- 关于setCapture
  6. DELPHI中MessageBox的用法
  7. MariaDB10自动化安装部署
  8. Java8 Lumbda表达式 初步
  9. 计算数据库中30天以内,30-60天,60-90天,90天以外的数据的个数(用sql实现)
  10. Bootstrap Paginator分页插件+ajax 实现动态无刷新分页