【发布时间】:2009-07-06 19:59:35
【问题描述】:
我有一个要创建的控件。这是我要完成的一个简单示例。
我希望控件包含一个按钮。
Button b = new Button();
b.Text = "Test";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
现在,控件呈现正常,按钮显示在页面上。我遇到的问题的核心是 b_Click 事件处理程序永远不会被触发。
protected void b_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
这里的任何帮助将不胜感激。出于纯粹的自私原因,我不想在这里使用用户控件,而是希望将其完全封装在单个 DLL 中。
提前致谢。
编辑**
namespace ClassLibrary1
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
public class WebCustomControl1 : WebControl
{
protected override void CreateChildControls()
{
Button b = new Button();
b.ID = "button";
b.Text = "Click Me";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
base.CreateChildControls();
}
protected void b_Click(object sender, EventArgs e)
{
this.Controls.Add(new LiteralControl("<p>Click!</p>"));
}
}
}
所以从我尝试过的 cmets 中。最简单的例子,还是不行。有什么我根本缺少的吗?
【问题讨论】:
标签: c# asp.net events user-controls postback