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

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

 /*********************************************************
* 开发人员: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.快速开发平台)

HFun.快速开发平台(二)=》自定义列表实例(请求参数的处理)的更多相关文章

  1. HFun.快速开发平台(二)=》自定义列表实例

    应用系统中数据列表的展现是开发内容之一,实现的方式基本是通过编号具体的访问列表页实现,通过检索条件进行数据源的获取,列字段的描述,还可能会有检索条件的实现,列表数据的导出等功能. 为了将重复工作进行简 ...

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

    上编自定义列表描述了自定义列表的基本实现功能,本此记录列表的请求过程. 个人比较喜欢对参数进行对象化,方便后续人维护及查看,先上代码: /******************************* ...

  3. HFun.快速开发平台(五)=》自定义系统数据选择

    本篇介绍HFun.快速开发平台的另一项系统常用功能:系统数据或参数选择,主要应用在表单录入中信息的选择,如类别,编号等.先贴出本系统实现的页面效果: 如上图所示,系统中将参数的选择统一展现为该方式,开 ...

  4. HFun.快速开发平台(一)=》简述

    [——使用成熟的技术实现了解的业务,关注面向对象,关注业务领域] 偶然的机会又回到了园子,看到上次的文章已是N年前,洽巧近期正在开发一个小程序,标题定为“快速开发平台”有点夸张,算是给自己定个小目标. ...

  5. HFun.快速开发平台(三)=》通用系统用户选择

    系统中用户的选择使用特别多,将该功能统一实现可提升系统效率. 用户的选择实现相对简单,系统中基本都会提供,HFun.快速开发平台中的实现特点主要有: 1.用户的选择分为单用户选择和多用户选择. 2.用 ...

  6. 如何提高码农产量,基于java的web快速开发平台之自定义表单开发随笔

    老板 :下班前一定写完? 程序猿:可以,下班前能一定给! 第二天早上上班~~~ 老板:这都第二天了,怎么没写完? 程序猿:我还没有下班呢! 哎!程序猿的痛啊 公司上线的项目有不少销售记录表,又是报价单 ...

  7. java代码生成器 快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码

    .   权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限      角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限.      按钮权限: 给角色分配按钮权限.2 ...

  8. jeesite快速开发平台(二)----环境搭建

    转自:https://blog.csdn.net/u011781521/article/details/54880465

  9. 审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow--SNF快速开发平台3.1

    下面我们就从什么都没有,结合审核流进行演示实例.从无到有如何快速完美的实现,然而如此简单.低调而奢华,简单而不凡. 从只有数据表通过SNF.CodeGenerator代码生成器快速生成单据并与审核流进 ...

随机推荐

  1. 数字规律:Pascal‘s triangle

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in pol ...

  2. 安卓 ArrayList,LinkedList,HashSet,Vector,TreeSet的区别和使用

    java的集合就那么几种 总体为:List,Set,Map (都是接口由其子类去实现具体的方法) ArrayList,LinkedList,Vector都属于List List:元素是有顺序的,元素可 ...

  3. [QT]简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件

    转自:http://blog.csdn.net/dbzhang800/article/details/6348432 简单介绍一下 *.pro.*.pri.*.prf.*.prl等四种文件:干嘛用的, ...

  4. animate的{queue:false,duration:400}意思

    示例:$(document).ready(function(){ $('.tmplS').hover(function(){ $(".cover", this).stop().an ...

  5. 【翻译】使用Visual Studio在Azure上部署Asp.Net Core Web应用

    配置运行环境 Install the latest Azure SDK for Visual Studio. The SDK installs Visual Studio if you don't a ...

  6. C++编程之面向对象的三个基本特征

    面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类 ...

  7. C#综合揭秘——细说进程、应用程序域与上下文之间的关系

    引言 本文主要是介绍进程(Process).应用程序域(AppDomain)..NET上下文(Context)的概念与操作.虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高 ...

  8. 字符串的长度超过了为 maxJsonLength 属性设置的值

    当出现类似标题的错误时,可以按照如下方法解决: 1. 检查是否传递的JSON字符串长度过长 2.增加JSON串的长度设置,设置如下: <system.web.extensions>     ...

  9. ASP.NET 页面之间传值的几种方式

    开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...

  10. jquery 全选 全不选 事件绑定

    <td width="82%" colspan="3"><input type="checkbox" id="a ...