知识大全 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中实现模版的动态加载

ASP.NET中实现模版的动态加载  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET中

知识大全 ASP.NET中实现模版的动态加载[1]

ASP.NET中实现模版的动态加载[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPN

知识大全 ASP.NET中实现模版的动态加载[2]

ASP.NET中实现模版的动态加载[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  接下来我

知识大全 asp.net动态加载css

  谁如果有更直接的方法请不吝赐教也不知有什么方法可以直接更换css  <%@PageLanguage=C#AutoEventWireup=true CodeFile=Defaulta

知识大全 基于ASP.NET的Web动态控件创建

基于ASP.NET的Web动态控件创建  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要web

知识大全 关于ASP.NET在IIS一些问题的经验总结

关于ASP.NET在IIS一些问题的经验总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多

知识大全 站点导航控件数据动态从数据库加载

  数据动态从数据库加载  usingSystemDataOleDb;  publicpartialclassDefault:SystemWebUIPage  

知识大全 ASP.NET中使用TreeView控件

ASP.NET中使用TreeView控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简介  

知识大全 在ASP.NET中使用PlaceHolder控件

在ASP.NET中使用PlaceHolder控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET中TreeView控件使用小结

ASP.NET中TreeView控件使用小结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  浏览