- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于B_S模式下动态表格研究
基于B_S模式下动态表格研究
摘要:笔者通过实际项目开发技术研究,融合开发环境中动态表格的客户优势,通过需求分析、安全性分析,动态表格绘制、ID命名模型等环节综合实际技术,设计开发环境下的动态表格的技术解决方案,以及可能涉及的使用问题策略。
关键词:表格 动态性 ID 定义
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2013)03-0081-02
1 引言
现实系统软件开发中,面对客户的不同功能需求,往往需要设计针对性的信息展示操作平台。其中最常用的数据显示方式是通过表格来完成,不同的开发环境有着不同的表格对象语义,以ASP.NET为例,比如表格类GRIDVIEW对象,它具备动态性和静态性两大特性,但因为其位于.NET环境层次结构中的较低层次,促使了它的易用性,但消弱的它的动态自定义性,相反TABLE对象却兼备了HTML界面的更加灵活的动态性,下面就以此为例探究B_S模式下动态表格的技术解决方案。
2 安全性分析
在运用动态表格解决方案的时,并不能一味追求其客户对象性,其设计安全性是首先要考虑的,同时还要考虑环境服务器的运行时安全性。作为面向对象服务自定义控件的开发人员,应遵循自定义控件页、应用程序以及框架结构中安全性的最佳做法。在大多数状态下,服务器自定义控件的设计者并不了解所有可实现的详细类的安全隐患。但是,应该通过遵循规则下安全约定,并通过指出自定义组件工作状态下的权限设定来控制。
同样在设计和实现动态表格服务器控件发布后,为了安全性考虑,可以将表格对象作为程序集提供或作为集成组件提供于用户。如果将动态TABLE作为程序集提供,必须对改对象程序集进行强名称数字签名。以此来达到为程序集提供唯一标识的目的,并且其他用户可以使用该数字签名来识别该自定义TABLE对象集并显式引用该对象程序集。另外还应注意编码注入、信息泄漏、会话绑架、证书欺骗、参数错误和网络窃听等方面的不安全因素。为此,应在设计前对动态TABLE类的威胁建模分析。具体安全性研究还应读者参照相关书籍,以免造成用户信息泄露或经济损失。
3 解决方案
3.1 动态绘制
动态???计TABLE类时,对象绘制是重要一步,根据实际实例,一般可把绘制分为三步:即TABLE-HEAD(TH)绘制、TABLE-BODY(TB)绘制、TABLE-CELL(TC)布局绘制。绘制常用属性包括:ColumnSpan跨列、RowSpan跨行、BorderWidth线宽、BorderColor线色、BorderStyle线形等,根据需求设置所需属性值。并将表头绘制代码以程序函数的形式来标示,例如下模型:
函数名(表格类[TABLE] 表格参数[table])
{ 表格行定义 Tr; //TABLE行实例化
表格增加(Tr); //TABLE添加第0行
表格单元格定义 Th; // 标题行单元格实例化
表格头内容初始化 Sa1 = { 指标, 计分办法, 自评纪实 };
循环绘制
{
Th 实例化;
……
Th.Width =整型数值;//针对性属性设置
Th.BorderColor = 系统枚举类.颜色类.颜色; //设置线条颜色
Th.BorderStyle = 边界类.边界类值;//设置线条类型
Th.BorderWidth =整型数值;//设置线条宽度
Tr.Cells.Add(Th); // 创建列
Th.RowSpan =整型数值; // 单元格占2 行
Th.ColumnSpan =整型数值; // 单元占2 列
……
}
}
可形成表头样式如图1。
表体(TB)的绘制跟表头绘制相似,只是在一般语言环境下绘制表行和单元格的实例类有所不同,与此同时,表体内容的输入与传统控件对象比如GRIDVIEW也会有所不同,在内容输入上需要读取数据库后逐行添加,这也是动态TABLE对终端运行速度有所影响的重要因素之一,但也使得动态表格绘制提供便利。基于对象的程序过程请参照表头的生成。
表体绘制完成,单元格(TC)的布局就是主要工作,客户往往需要设计者根据现实表格模型绘制TABLE,其中合并单元格是主要操作类,设计中需要根据相同内容单元格进行合并,设计者可以根据ID确定控件的去留,就显得尤为方便。这里ID的命名规则就显得尤为重要,在2.2模型中将做详细描述。下面具体设计TC合并算法伪码函数:
类型 函数名(表格类 Table, 整型类 StartRow,整型类[int] Col) // table为表格名称,startRow初始合并行号。
{ Int RowsC
文档评论(0)