web页面动态加载UserControl,并调用用户控件中的方法来初始化控件

1,HTML页

头部注册:

<%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPrefix="UserControl" TagName="CeShiBu"%>
<%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/KaiFaBu.ascx" TagPrefix="UserControl" TagName="KaiFaBu"%>

控件摆放位置:

 <div id="controlspan" runat=server>
     </div>

2,C#后台

 /// <summary>
    /// 根据事项和分类决定显示用户控件中哪些要素
    /// </summary>
    /// <param name="strFL"></param>
    /// <param name="strSX"></param>
    private void setUserControlVisible(string strFL,string strSX)
    {
        if (ViewState["rzDeptName"].ToString() == "开发部")
        {            //用户控件路径
            UserControl KaiFaBuControl = (UserControl)Page.LoadControl("UserControl/KaiFaBu.ascx");
            Type tc = KaiFaBuControl.GetType();            //用户控件中要调用的初始化方法
            System.Reflection.MethodInfo m = tc.GetMethod("OnStart");            //调用初始化方法要传递的参数
            object[] bjParas = new object[1];
            bjParas[0] = strSX;
            m.Invoke(KaiFaBuControl, bjParas);

            controlspan.Controls.Clear();
            controlspan.Controls.Add(KaiFaBuControl);
        }
        if (ViewState["rzDeptName"].ToString() == "测试部")
        {
            UserControl KaiFaBuControl = (UserControl)Page.LoadControl("UserControl/CeShiBu.ascx");
            Type tc = KaiFaBuControl.GetType();
            System.Reflection.MethodInfo m = tc.GetMethod("OnStart");
            object[] bjParas = new object[1];
            bjParas[0] = strSX;
            m.Invoke(KaiFaBuControl, bjParas);

            controlspan.Controls.Clear();
            controlspan.Controls.Add(KaiFaBuControl);
        }
    }

在页面上动态改变strFL,strSX,可以动态加载不同的用户控件,或者加载用户控件中的不同元素。

web页面动态加载UserControl,并调用用户控件中的方法来初始化控件,布布扣,bubuko.com

时间: 2024-12-16 06:08:25

web页面动态加载UserControl,并调用用户控件中的方法来初始化控件的相关文章

对于页面动态加载的元素事件无效的解决方案

当用ajax动态获取的数据放在新建的div中进行展示时,当你提前写一些 mouseover,click 操作时会发现不起作用 解决方法: 把事件绑定到它的父元素上面 例如,每次读到数据会将它放在新建的 class = data的div中显示,并且用append方法把他添加在 id= parent 的div中.这个时候假如对data这个块有点击事件,平常可能会写 $('.data').click(function(){...}); 当点击这个div时,不会有反应.这时候可以再一开始将事件绑定到父元

.NET Web后台动态加载Css、JS 文件,换肤方案

后台动态加载文件代码: //假设css文件:TestCss.css #region 动态加载css文件 public void AddCss() { HtmlGenericControl _CssFile = new HtmlGenericControl("link"); _CssFile.ID = "CssFile"; _CssFile.Attributes["rel"] = "stylesheet"; _CssFile.A

[JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 今天我们就来看看他们的实现思路和js控制动态加载的代码 下面的代码主要是控制滚动条下拉时的加载事件的 在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据  都可以 别忘了引用jquery类库 [JavaScript] 纯文本查看 复制代码

Android APP启动页面动态加载全部权限

一.写在前面 6.0以上动态加载权限加载的是,需要用户手动赋予的权限( Dangerous Permissions),只有这些,其他权限不用加载 所属权限组 权限日历 READ_CALENDAR日历 WRITE_CALENDAR相机 CAMERA联系人 READ_CONTACTS联系人 WRITE_CONTACTS联系人 GET_ACCOUNTS位置 ACCESS_FINE_LOCATION位置 ACCESS_COARSE_LOCATION麦克风 RECORD_AUDIO电话 READ_PHON

web页面的加载顺序

1.页面顺序 一个典型的web页面由于三个部分组成:html.css和JS.执行的顺序是: 整个执行过程安装html的顺序来执行. html->head->title->style->加载样式->解析样式->link->加载外部样式表->解析外部样式->script->加载外部脚本->解析外部脚本->执行外部脚本->body->div->body->div->加载脚本->解析脚本->执行脚本-

web页面分块加载

原文链接http://www.cnblogs.com/BearsTaR/archive/2010/05/19/flush_chunk_encoding.html 一般大家在处理这种情况,都使用ajax,先把html输出到客户端,然后再用ajax取加载比较耗时的资源.用ajax麻烦的地方是增加了请求数,而且需要写额外的js代码.和js调用的请求接口. 正对这种情况,还有一种处理方法,就是让response分块编码进行传输.response分块编码,可以先传输一部分不需要处理的html代码到客户端,

AngularJs根据访问的页面动态加载Controller的解决方案

最近AngularJs很火.... 废话不多说了,如主题吧 用Ng就是想做单页面应用(simple page application),就是希望站内所有的页面都是用Ng的Route,尽量不用location.href,但是这样的webapp好处是很多,但是美中不足的是当你的webapp随着时间的推移,用户变多,功能变得更丰富,controller也变得越来越多,你不得不把所有的controller当作全局模块进行加载,以使得在站内任何一个页面中按F5刷新后能route到任意一个其他页面,而不会发

JVM加载类的过程,双亲委派机制中的方法

JVM加载类的过程: 1)JVM中类的整个生命周期: 加载=>验证=>准备=>解析=>初始化=>使用=>卸载  1.1.加载 类的加载阶段,主要是获取定义此类的二进制字节流,并将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构,最后在Java堆中生成一个代表这个类的java.lang.Class对象作为方法区这些数据的访问入口.相对于类加载过程的其他阶段,加载阶段是开发期可控性最强的阶段.我们可以通过定制不通的类加载器,也就是ClassLoader来控制二进制

JSP页面动态加载到iframe

main 页面有个iframe 域 <iframe id="myiframe" framespacing="0" frameborder="NO" Scrolling="auto" width=806 height=510 name="mytrees" /> 点击个人信息通过Action 获取到个人信息跳到 显示信息的JSP,想把这个JSP 显示在 main 里面 就指定 <a href=