您的位置:首页 > 编程语言 > ASP

C# aspx页面动态加载ascx用户控件

2008-10-31 09:24 811 查看

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(",");
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(",");
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[] bjParas = new object[1];
objParas[0] = "1";
m.Invoke(uc, objParas);
////m.Invoke(a, null);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐