zoukankan      html  css  js  c++  java
  • C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法

    //控件代码
    public partial class WebUserControl : System.Web.UI.UserControl
    {
        public void TestMethod(string strID)
        {
            this.TextBox1.Text += " WebUserControl:" + strID;
            //其他相关操作
        }
    }

    //控件代码
    public partial class WebUserControl2 : System.Web.UI.UserControl
    {
        public void TestMethod(string strID)
        {
            this.TextBox1.Text += " WebUserControl2:" + strID;
            //根据传入参数进行其他相关操作
        }
    }

    //页面代码
    public partial class Default1 : System.Web.UI.Page
    {
        bool isShow = true;//是
        string strWebUserControls = "WebUserControl,WebUserControl2";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (isShow)
            {
                string[] strUCs = strWebUserControls.Split(",".ToCharArray()[0]);
                for (int i = 0; i < strUCs.Length; i++)
                {
                    string strUCName = strUCs[i].ToString();
                    Control a = Page.LoadControl(strUCName+".ascx");
                    a.ID = strUCName;
                    this.Panel1.Controls.Add(a);
                }           
            } 
        }

        //页面按钮操作
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (isShow)
            {
                string[] strUCs = strWebUserControls.Split(",".ToCharArray()[0]);
                for (int i = 0; i < strUCs.Length; i++)
                {
                    string strUCName = strUCs[i].ToString();
                    Type tc = this.Panel1.FindControl(strUCName).GetType();
                    Control uc = this.Panel1.FindControl(strUCName);
                    ////object o = System.Activator.CreateInstance(uc.GetType());
                    System.Reflection.MethodInfo m = tc.GetMethod("TestMethod");
                    object[] objParas = new object[1];
                    objParas[0] = "1";
                    m.Invoke(uc, objParas);
                    ////m.Invoke(a, null);
                }
            }
         }
    }

  • 相关阅读:
    插入排序的算法分析
    SQL的UNION操作
    二分查找的思路
    怎么看吉他简谱
    一句CSS代码杜绝网站iframe挂马
    关于NewFolder.文件夹无法删除的办法
    C#监听USB接入
    C# 系统服务添加安装
    .NET 实现ISAPI过滤器,指定类型文件防下载
    ASP 简单的异或加密方法
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1298673.html
Copyright © 2011-2022 走看看