码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-07-14 20:52:01      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   art   io   

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

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

标签:style   blog   color   os   art   io   

原文地址:http://www.cnblogs.com/hiflora/p/3842659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!