首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎样调用一个 动态创建的用户自定义控件 里的某个方法或事件?解决方案

2012-02-10 
怎样调用一个 动态创建的用户自定义控件 里的某个方法或事件?怎样调用一个 动态创建的用户自定义控件 里的

怎样调用一个 动态创建的用户自定义控件 里的某个方法或事件?
怎样调用一个 动态创建的用户自定义控件 里的某个方法或事件?

protected void Page_Load(object sender, EventArgs e)
{
  var a = LoadControl("001.ascx");
  a.ID = "UC001";
  this.Controls.Add(a);
}

protected void Button1_Click(object sender, EventArgs e)
{
  var a = this.FindControl("UC001"); //这里竟然为null
  想在这里调用PageLoad事件里创建的自定义控件001.ascx中的方法或者事件应该怎么做?
}

[解决办法]

C# code
protected override void OnInit(EventArgs e)    {         var a = LoadControl("001.ascx");          a.ID = "UC001";         form1.Controls.Add(tb);        base.OnInit(e);    }
[解决办法]
<%@ Page Language="C#" %>
<%@ Reference Control="~/Controls/Spinner.ascx" %>
<script runat="server">
private ASP.Spinner Spinner1
 
protected void Page_Load(object sender, EventArgs e)
{
Spinner1 = (ASP.Spinner)LoadControl("~/Controls/Spinner.ascx");
}

protected void Button1_Click(object sender, EventArgs e)
{
PlaceHolder1.Controls.Add(Spinner1);
}
</script>

<html>
<head id="Head1" runat="server">
<title>Load User Control Programmatically</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder runat="server" ID="PlaceHolder1" />
<br />
<asp:Button ID="Button1" runat="server" 
Text="Click to Add User Control" 
OnClick="Button1_Click" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>

热点排行