背景之后的第二点击:我自定义现有的ASP .NET/C#应用程序。它具有它自己的一些“框架”和约定,供开发人员在扩展/定制其功能时遵循。我目前正在扩展它的一些管理功能,框架提供了一个合同来强制执行GetAdministrationInterface()
方法,该方法返回System.Web.UI.Control
。在承载GUI界面的页面的Page_Load()
方法期间调用此方法。ASP .NET按钮事件处理不火的第一次点击,但回发
问题:我在我的GUI中有三个按钮,每个按钮都被分配了一个事件处理程序。我的管理GUI加载完全正常,但点击任何按钮都不能达到我期望的效果。但是,当我再次点击它们时,按钮就起作用了。
我在每个事件处理程序方法的开始处放置了断点并遍历了我的代码。在第一次点击时,没有任何事件处理程序被触发。在第二次点击时,他们解雇了。
任何想法?按钮定义的
实施例(内GetAdministrationInterface
)事件处理方法定义的
public override Control GetAdministrationInterface()
{
// more code...
Button btn = new Button();
btn.Text = "Click Me!";
btn.Click += new EventHandler(Btn_Click);
// more code...
}
例
void Btn_Click(object sender, EventArgs e)
{
// Do Something
}
Page_Load
方法调用GetAdministrationInterface
protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsAsync)
{
List<AdministrationInterface> interfaces = <DATABASE CALL>;
foreach(AdministrationInteface ai in interfaces)
{
placeholderDiv.Controls.Add(ai.GetAdministrationInterface());
}
}
}
你在哪里把你的按钮定义和事件处理程序的条件检查来避免这种
的一种方式?如何将按钮添加到页面? – 2010-05-04 13:51:26
发布调用'GetAdminInterface'并构建控件的Page_Load代码 – 2010-05-04 13:54:28
我将“Page_Load”代码添加到了原始问题中。 – John 2010-05-06 17:19:50