ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DNN自带的一个文档DNN_ClientAPI-MaxMin的翻译

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

原创 Linux操作系统 作者:DNN技术专区博客 时间:2008-08-05 14:14:51 0 删除 编辑

介绍
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博客 ” ,链接:https://blog.itpub.net/15040802/viewspace-419027/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-01

  • 博文量
    26
  • 访问量
    53565