DNN自带的一个文档DNN_ClientAPI-MaxMin的翻译

介绍
DNN的客户端API给开发者提供一个胖客户端的功能集。本文档只是这些功能集中的概要;不依靠 postbacks,能够提供模块的最大化\最小化处理.

目标
交流并且给出关于创建胖客户端功能集步骤的文档。
为最大化/最小化特点内部运转提供一个更好的理解。

显示/隐藏模块的内容
在支持 DHTML 的浏览器中,显示和隐藏模块内容的工作是相当容易的.,如果要决定是否显示或隐藏内容,只需简单地设置style.display里边的属性为空或不设置style.display的属性.触发最大化(显示)/最小化(隐藏)的事件是通过点击"最大化"和"最小化"的一个图片.最后,模块通过利用该模块一个唯一的cookie来保存模块的状态(即模块内容是显示还是隐藏).

处理单击事件
Visibility.ascx 用户控件负责处理显示/隐藏模块内容.该模块的工作主要是检查cookie的值,来决定显示或隐藏内容,同时正确设置最大化/最小化的图片.

这种增加,通过如下的代码,使得先检查浏览器是否支持DHTML:
If ClientAPI.BrowserSupportsFunctionality(ClientAPI.ClientFunctionality.DHTML) Then
如果返回为true,则继续下一步:

通常设置内容显示为true
因为在客户端我们通常需要显示模块的内容

如果内容不需要显示,设置内容展示的样式为空

注册命名空间为dnn.dom的客户端API
ClientAPI.RegisterClientReference(Page, ClientAPI.ClientNamespaceReferences.dnn_dom)

增加客户端image 单击事件
通过如下的代码设置事件处理
cmdVisibility.Attributes.Add("onclick", "if (__dnn_ModuleMaxMin_OnClick(this, '" & _ pnlModuleContent.ClientID & "')) return false;")

Postback代码运行前,这将导致事件的执行。如果返回false,则Postback不再执行,如果max/min正确执行了,我们不再需要返回一个Postback执行,这正是我们想要的答案。相反,如果没有成功执行,则求助于可信赖的postback事件处理。

设置一个代表模块id的button自定义属性,即cookie值
因为客户端负责设置维护模块内容为显示/隐藏状态的cookie。我们需要知道模块的id以正确设置关于模块的cookie。

记录2个关于显示/隐藏图片位置的客户端变量
一个模块可以包括一系列最大化/最小化按纽的图片。因为客户端负责我们所需要的图片的转换,通过方法ClientAPI.RegisterClientVariable这些信息被传递到客户端,在客户端,取得这些变量的值是通过dnn.getVar方法。

用户登陆回车事件
在新的版本中,修改了用户登陆模块。当用户按“回车”时,最大化/最小化按牛将显示。最大化/最小化按纽接受登陆时间。因为最大化/最小化按纽是ImageButton,其HTML表现形式为Visibility按纽从ImageButtons转化为一个图片与LinkButton的组合展开的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15040802/viewspace-419027/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15040802/viewspace-419027/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值