知识大全 ASP.net中动态加载控件时一些问题的总结
Posted 知
篇首语:智慧源于勤奋,伟大出自平凡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.net中动态加载控件时一些问题的总结相关的知识,希望对你有一定的参考价值。
ASP.net中动态加载控件时一些问题的总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
经常见到有人说在中不要使用动态控件 我想主要的原因在于使用动态控件会带来一些问题 在做项目的过程中 我将由动态加载控件引发的总是作了一个小小的总结
在使用LoadControl加载控件后 用户控件中的某些控件不再响应事件
这个问题主要是由于将控件加载放在if (!Page IsPostBack)之内引起的 放在外面即可 在思归的blog上对此问题进行了详细的说明
用户控件中某些控件的响应出现问题 如某个按钮第一次选择时不触发CLICK事件 第二次可以了
这是由于没有给控件设置ID引起的 控件ID的作用在下面详细讲述 如
Control userControl=(Control)Page LoadControl( Test ascx );
userControl ID= Test ;
AddControl(userControl);
如果用户控件中包括DataGrid控件 那么加载控件后可能出现不响应DataGrid事件的问题
这好像是一个bug 必须要将加载的控件进行强制转换 如
Test userControl=(Test)Page LoadControl( Test ascx );
注意 上面使用的是Test类型 而不是Control!
我在以前的Blog中曾提到过这个问题 这种方式将使系统的扩展性降低 我有一个解决方案可以和大家讨论(运用策略模式)
public class BaseControl : System Web UI UserControl
public virtual BaseControl ProcessThisControl();
所有的用户控件从BaseControl 继承 如果有Datagrid控件 由overide ProcessThisControl方法 如
return this as Test;
按如下方式加载控件
BaseControl userControl=(BaseControl )Page LoadControl( Test ascx );
userControl ProcessThisControl();
在用户控件中如何使用JavaScript
大家都知道 使用客户端的脚本将大大提高页面的响应速度 同时可以避免频繁地刷新页面 所以使用javascript来实现页面中部分控制是一个比较好的方式 但是在用户控件中如果访问某一个子控件呢?
使用方式如下 document all <%= TestControl ClientID%> disabled //将TestControl设置为不可用
如果在C#脚本中应该这样写 Page RegisterStartupScript( OnInitControl <SCRIPT LANGUAGE= JavaScript >document all Test_TestControl disabled ); //Test为用户控件 TestControl为用户控件中的子控件
cha138/Article/program/net/201311/12620相关参考
ASP.NET中实现模版的动态加载 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET中
ASP.NET中实现模版的动态加载[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPN
ASP.NET中实现模版的动态加载[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 接下来我
谁如果有更直接的方法请不吝赐教也不知有什么方法可以直接更换css <%@PageLanguage=C#AutoEventWireup=true CodeFile=Defaulta
基于ASP.NET的Web动态控件创建 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要web
关于ASP.NET在IIS一些问题的经验总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很多
数据动态从数据库加载 usingSystemDataOleDb; publicpartialclassDefault:SystemWebUIPage
ASP.NET中使用TreeView控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介
在ASP.NET中使用PlaceHolder控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET中TreeView控件使用小结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 浏览