解决用户控件循环引用的笨办法

在上一篇中提到使用MagicAjax开发了一个项目,因为做这个项目之前对MagicAjax不是很了解,在里面使用了用户控件,我发现这是一个很致命的错误,用户控件在MagicAjax中用起来很痛苦.
    因我们的项目不是简单的只要求"看起来像"没有刷新页面,其中一个主要的页面有那么一点点复杂,因页面中数据可以分成多块,有时只要更新某一块中的数据,有时候可能要更新好几块的数据.于是我用分块的思想来使用MagicAjax(AjaxZone),所以用起来有点变态 .因为程序偶尔会把IE弄死,又找不到原因,只是猜想可能因为事件太多IE处理不了卡死.于是我就更改以前的程序响应方式.
    以前程序是一块一块去取数据的,如果有多块数据要取,有时候要来回好几次,想想MagicAjax中的ViewState,我的页面中还有四个Gridview,你应该知道有多耗性能...我想把程序改成要多块数据时,不用来回多次,一次搞定--只有一个ViewState,于是把MagicAjax的源码改了一通.终于改得勉强可以满足需求了,却发现我的用户控件中有循环引用的问题.
    大概就是一种情况下,在用户控件A中发送请求,要求同时更新用户控件B中的数据,因此A要引用B,另一种情况下,在用户控件B中发送请求,同时要更新用户控件A中的数据,B又要引用A,于是恶梦就开始了.在MSDN中看了半天,网上搜了好久也没有找到好的办法,据我了解,循环引用是因为用Reference或Regist指令时在编译的时候会把控件引用进来,网上也有说可以用动态编译的方法避免,不过我们的项目最后是要发布的,不能用那个.
    最后笨筋一动,找到一个笨方法,在APP_CODE中创建了一个接口,用B继承接口,接口中提供A中要使用到的属性和方法.B还引用A,当A要使用的B的时候就把FindControl方法中找的控件转成接口来调用 .不知道有没有好点的办法,还望路过的达人不吝赐教.

转载于:https://www.cnblogs.com/shendsun/archive/2008/12/16/1355663.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】介绍一些免费/开源的医学影像后处理工具

转自:https://blog.csdn.net/liaopiankun0618/article/details/84328331 来源:融视影像科技 综述 医学影像的处理有两个特质。一是复杂,整个处理流程涉及多种算法,需要调整的参数较多。二是发展快,从采集、重建到后…

android 安卓市场,安卓市场(Android Market).doc

安卓市场(Android Market)安卓市场(Android Market)Android (HiMarket) China market is the earliest and largest Android software and online game download platform, Netdragon well-known products, provide good service for users of mobile phone software. Since it…

IROM 浅见

IROM其实是三星已经固化在CPU里面的一段代码,我们要做的事情就是提供一段可以供IROM读取的8K代码程序,至于这8K代码放在哪里,由CPU的相关引脚决定(OM1-OM4,GPN13-GPN15)。也就是说从哪里启动的意思。 如果从…

LINQ是死是活?——很奇怪为什么会有这样的话题?

LINQ是死是活??? 如果我问您:机器代码死了吗?汇编死了吗?C死了吗?VB6.0死了吗?Delphi死了吗?您可能会觉得我很无聊。所以我觉得“LINQ是死是活”的说法也很奇怪? LINQ诞…

android gradle 语法,Gradle 1.语法

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?gradle 语法解析:gradle的语法十分简洁,以至于看起来跟像是配置文件。先看一个简单的android项目完整的gradle脚本:build.gradle123456789101112131415…

【转】二维异形件排版算法介绍(三)

转自:https://bbs.huaweicloud.com/blogs/203947 【摘要】 相比于基于可行解的排样算法,重叠移除算法在改变解的状态时,允许零件之间发生重叠,然后采用分离技术消除重叠,直到达到算法的终止条件为止。重叠移除算法的关…

WinCE6.0中应用程序如何直接访问物理空间

在实际开发过程中,经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷,每次读写都必须经由它才能完成。如果只是读取GPIO,那问题不算大。如…

开博之文

逛园子很久了,读而不写非礼也。分享技术,交流经验,体味人生,本博主旨,此为09年的开年大事。转载于:https://www.cnblogs.com/imstand/archive/2009/01/11/1373712.html

【转】Dicom格式文件解析器!!!!!!!

转自:https://www.cnblogs.com/assassinx/archive/2013/01/09/dicomViewer.html Dicom全称是医学数字图像与通讯,这里讲的暂不涉及通讯的问题 只讲*.dcm 也就是diocm格式文件的读取,读取本身是没啥难度的 无非就是字节码数据流处理。只不过确…

android 设置view最大高度,android-在RecyclerView上设置最大高度

我有一个对话框片段,其中包含线性布局,其中涉及RecyclerView上方的titleText,在最底部,recyclerView下方有一个按钮.由于recyclerView根据适配器设置的项目数展开或折叠,因此按钮有时会被截断并且不再显示在屏幕上,因为recyclerView仅覆盖整个屏幕.我的问题是,有没有一种方法可…

【转贴】利用 Javascript 获取 URL 参数(适合IE、FF)

.  ... .../test.html?str123456如何用Javascript接收类似上面的url参数呢?这个问题网上有很多答案,看了看,主要有两种,一个是利用字符串的截取,另一种是利用正则表达式。[正则式&#xff3d…

【WinCE】流设备驱动简介及GPIO驱动的实现

流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义。在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动。 流设备驱动的架构如图: 首先我声明一下,…

android contentprovider api,Content Provider Basics

一个内容提供者访问数据的中央资源库。提供者是应用程序的一部分,提供自己的操作数据的UI。然而,内容提供者主要是被其他应用程序引用,通过提供者客户对象访问提供者。提供者和提供者客户端为数据提供一个一致的,标准的接口&#…

【转】医学影像调窗技术!!!!

转自:https://www.cnblogs.com/assassinx/p/3139505.html 在年初的时候做过一个dicom格式文件解析,当时只是提了下。看着跟别人的显示出来也差不多 其实是我想太简单了。整理了下思路 这里提供正确的调窗代码。 医学影像 说得挺高科技的 其实在这个过程…

开始-运行 下常用快捷命令

在“开始”菜单上单击“运行“,输入 1. eventvwr.msc /s 打开事件查看器 (可查看系统日志) 2.gpedit.msc 打开组策略 示例:在Windows Server 2003中关闭系统事件跟踪程序: 单击“开始→运行”,输入gped…

解决6410 WINCE6 应用层调用SetSystemPowerState api关机无效的问题

6410平台下的wince6系统,在应用层中使用SetSystemPowerState api函数关机发现无效。 应用层调用如下: [cpp]view plaincopy SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE); 注:该调用需要引用pm.h头文件,该头文件在…

【转】理解字节序 大端字节序和小端字节序

转自:https://www.cnblogs.com/gremount/p/8830707.html 以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.csdn.net/yishengzhiai005/article/details/39672529 1. 计算机硬件有两种储存数据的方式:大端字节序…

Web-DispatcherServletUrlPatterns

Web-DispatcherServletUrlPatterns 在MANIFEST.MF文件中指定了Web-DispatcherServletUrlPatterns时千万要注意它的规则,首先它必须是符合servlet的url-pattern的,其规则如下: 在web.xml文件中,以下语法用于定义映射: …

WCHAR char CString等常用类型互转

1、CString to WCHAR*: [cpp]view plaincopy WCHAR *wch (WCHAR*)str.GetBuffer(str.GetLength()); str为CString类型。 2、WCHRA* to char*: [cpp]view plaincopy memset(buf, 0, bufInLen); // WCHRA to char WideCharToMultiByte( CP_ACP, 0, wch, -1, buf,…

html文件自动批阅器怎么设计,作业作业提交与批改系统HTML界面.doc

作业作业提交与批改系统HTML界面作业1-作业提交与批改系统HTML界面请根据以下需求部分功能或全部全部功能HTML界面代码;注意HTML代码附在本文后面一、作业提交与批改系统系统功能图基本功能1.学生注册2.学生、教师、管理员密码找回功能3&…