电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

U9技术文档-范例-U9研发体系(前台关联控件产生的代码范例).PDFVIP免费

U9技术文档-范例-U9研发体系(前台关联控件产生的代码范例).PDF_第1页
1/10
U9技术文档-范例-U9研发体系(前台关联控件产生的代码范例).PDF_第2页
2/10
U9技术文档-范例-U9研发体系(前台关联控件产生的代码范例).PDF_第3页
3/10
前台关联控件产生的代码范例说明 版 本 号 :V1.0 作者:李可诚 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 李可诚 2006/07/7 原始文档建立 一.问题域说明 Web 开发中为了满足一些交互控制的要求(例如 A 控件等于 1 的时候,B 控件不能使用),这就需要开发人员编写 js 脚本用来完成以上的功能。在 U9 的框架下,原则上不允许应用开发人员自行产生 js 脚本并抛到前台,所以平台在设计态时提供了一些关联控件,可以让应用开发人员在设计态“设计”出需要产生的 js 脚本,然后在生成代码的时候由平台负责生成 js 脚本并把该脚本抛到前台。 典型的应用:有效性设置(详见有效性开发说明.doc)、控件联动等 本文将首先通过一个简单的控件联动示例说明如何使用平台提供的设计态关联控件实现简单的交互,然后简单分析一下平台生成的代码和运行态时产生的 js 脚本,最后提供一个高级范例说明如何在运行态编写较复杂的关联控件代码。 二.基本原理 使用平台的设计态关联控件时,平台在构造的过程中会帮助应用开发人员生成产生 js脚本的代码,一般情况下是封装到对应的 webpart.cs 文件的最后(是以_BuilderControl 开头的一个函数)。这些函数会在 private void CreateFormChildControls()中被调用,以生成对应的 js 脚本。高级应用中,应用开发人员也可以在对应的 WebPartCodeBehindExtend.cs 文件中,在函数 public void AfterCreateChildControls()中自己编写产生 js 脚本的关联控件代码。 三.关键代码及说明 首先选择一个使能控件,然后按照预定设计设置其触发控件,触发表达式和响应控件 分别如上左图框选和右图所示。然后编译平台产生代码如下: private void _BuilderControl_ValueSetTrigger(IUFContainer container) { AssociationControl assControl; CodeBlock codeBlock; string expression; assControl = new AssociationControl(); ; codeBlock = new CodeBlock(); assControl.SourceServerControl = this.DataType34; assControl.SourceControl.EventName = "onchange"; expression = ""; expression = " if( "; expression += "!$ID(\""+this.DataType34.ClientID+"\")"; expression += "||"; expression += "!$ID(\""+this.DataType34.ClientID+"\")"; expression += " ) return;"; expression = " if( "; expression += "$find(\"" + this.DataType34.ClientID + "\")"; expression += ".get_Value()"; expression += " == "; expression += "'5'"; expression += " || "; expression += "$find(\"" + this.DataType34.ClientID + "\")"; expression += ".get_Value()"; expression += " == "; expression += "'6'"; expression += " )"; codeBlock.Condition = expression; assControl.addBlock(codeBlock); //直接给客户端控件赋值 codeBlock.TargetControls.addControl(this.lblValueSet249,"Enabled","true"); //直接给客户端控件赋值 codeBlock.TargetControls.addControl(this.ValueSet249,"ReadOnly","false"); //直接给客户端控件赋值 codeBlock.TargetControls.addControl(this.ValueSet249,"Value","''"); //直接给客户端控件赋值 codeBlock.TargetControls.addControl(this.ValueSet249,"Text","''"); //直接给客户端控件赋值 codeBlock.TargetControls.addControl(this.ValueSet249,"Key","-1"); //ajaxPanel.Controls.Add(assControl); //Controls.Add(assControl); assControl = new AssociationControl(); ; codeBlock = new CodeBlock(); assControl.SourceServerControl = this.DataType34; assControl.SourceControl.EventName = "onchange"; expression = ""; expression = " if( "; expression += "!$ID(\""+this.DataType34.ClientID+"\")...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

U9技术文档-范例-U9研发体系(前台关联控件产生的代码范例).PDF

您可能关注的文档

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信