PB WEB客户端编程技巧总结

PB WEB客户端编程技巧总结

ID:41032922

大小:112.00 KB

页数:5页

时间:2019-08-14

PB WEB客户端编程技巧总结_第1页
PB WEB客户端编程技巧总结_第2页
PB WEB客户端编程技巧总结_第3页
PB WEB客户端编程技巧总结_第4页
PB WEB客户端编程技巧总结_第5页
资源描述:

《PB WEB客户端编程技巧总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PB11.5WEB客户端编程技巧总结一、概述用PB11.5把现有C/S程序转换成WEB应用程序后,保留了大部分C/S环境下的代码,并且大部分都能执行过去。但是在BS平台下,原来的PB代码从客户端转成了IIS上的服务代码,原的“客户端”就成了浏览器,转换后的客户端编程其实就是面向浏览器的编程。根据目前我对PB11.5所了解的情况,PB11在代码方面可以使用条件编译方式嵌入.NET代码,其实我感觉.net里能实现的内容,用PB代码也基本能实现,.net里不能实现的,PB也可实现(如datawindow),但这些都属于服务端的编程范畴,实际应用

2、中很少会碰到在PB里再嵌入.net代码的,除非要写一些很特殊的代码,所以,可以说,服务端方面仅用PB代码就可以彻底解决。但实际上,这种纯PB代码的程序一发布成WEB后,会存在不少问题,在C/S环境下,要完成一个操作往往需要多个交互过程,如“打开窗口、选择行、输入数据、返回、刷新页面”这么一个过程,转成B/S后,运行是这样的“打开窗口(POSTBACK)、选择行(POSTBACK)、输入数据(回车后POSTBACK)、返回(POSTBACK)”,那么多的POSTBACK使得操作变得很笨重,就连简单的一个MESSAGEBOX,都要2次POST

3、BACK:“打开消息窗(POSTBACK)、点确定(POSTBACK)”。因此,使用PB11开发WEB程序将要面临一个很严峻的问题:如何提高客户端的性能,减少POSTBACK次数。值得庆幸的是,PB11.5的WEB页面使用了AJAX技术,POSTBACK并不会产生整个页面的提交,而是部分提交。另外,PB11.5还提供了不少客户端的编程接口,可以通过这些编程接口进一步优化页面。那么,有哪些地方可以运用javascript和html代码优化页面呢?1、数据窗口对象appendedhtml属性。刚接触PB11.5的WEB开发的时候,一定会被他的

4、那么多unsupport属性所蒙蔽,原先在C/S下绚丽多彩的界面,转成B/S后变得暗淡无光,因此也就失去了进一步开发的乐趣。其实不然,PB提供了appendedhtml的属性后,使WEB界面编程变得更为灵活,一个小小的appendedhtml,可以将DHTML、javascript等所有页面技术嵌入到里面去。可以实现的效果如:透明、垂直居中、渐变、鼠标移动特效等等。查看发布成WEB后的页面代码,会发现,appendedhtml里的内容是放在里,也就是说,数据窗口的内容转成了WEB元素,如标签转成了

5、iv>,列就是。Appendedhtml的写法:引号必须使用转义符~如:modify(‘sfz.html.appendedhtml="style=~~"padding-top:2px;~~"’),至于如何设置元素属性,可以查看《DHTML手册》。2、数据窗口事件。此方法是在数据窗口对象初始化的时候写入对应的脚本,如:#IFDEFINEDPBWEBFORMTHEN dw_1.JavaScriptFile="uo_dw.js" dw_1.OnClientItemChanged="MyItemChanged"#ENDIF   另外,

6、在发布成WEB的时候,必须嵌入已写好的javascript脚本,这些被脚本会在页面的head区被包含进去。经过上面代码一处理,数据窗口的事件被触发后就会直接跳到javascript脚本去处理而不执行回调(就是PB里写的程序不会被执行)。那么,哪些事件支持脚本编程呢?根据PB11.5文档所提供的技术说明,目前仅限于数据窗口内事件处理,包括clicked、DoubleClicked、RButtonDown、ButtonClicked、ButtonClicking、ItemFocusChanged、ItemError、ItemChanged、R

7、owFocusChanged。在指定客户端事件脚本的时候,事件前都必须加”OnClient”。二、客户端程序的优化思路借助javascript脚本技术,我们可以对目前程序上的几个操作瓶颈进行优化。1、数据窗口的条件性POSTBACK。如果不对datawindow进行脚本处理,那么如果事件内有代码,则将会在触发该事件的时候执行POSTBACK,这样会有很多没必要的POSTBACK。如,在itemchanged事件里写入了对身份证输入后进行检查的代码,在IE下运行的情况是,该数据窗口的任何列输入完后都会执行POSTBACK,有没有办法实现只输

8、入身份证的时候才POSTBACK呢?可以通过以下方法:(1)在窗口的open事件里写入脚本。#IFDEFINEDPBWEBFORMTHEN dw_1.JavaScriptFile="uo_dw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。