将按钮单击事件添加到从数据库生成的按钮控件

时间:2012-03-27 09:07:13

标签: asp.net

我有一个继承自母版页的Test.aspx页面。我正在从Test.aspx页面的数据库填充控件内容。

我从数据库中获取包含所有控件内容的整个字符串,并使用Page.ParseControl方法解析输入字符串以进行控制,然后将控件添加到内容占位符。

从数据库中提取的字符串包含以下按钮控件。

上面的按钮控件呈现给UI,但是当我尝试单击按钮时,则不会触发按钮单击事件。

任何人都可以帮我解决这个问题吗?

谢谢&问候, Santosh Kumar Patro

2 个答案:

答案 0 :(得分:0)

问题是您需要在处理回发数据之前创建控件才能触发事件。您无法在page_load中重新创建控件,或者稍后必须在页面生命周期的早期创建它们。我们曾经在包含页面(或自定义控件)的construtor中创建子控件,然后事件就可以工作。

答案 1 :(得分:0)

你可以尝试下面的

Button btn = (Button)Page.ParseControl("<asp:button text='Click here!' runat='server' />");
if(btn != null)
{
   btn.Click += new EventHandler(BtnClick); 
}
void BtnClick(object sender, EventArgs e) 
{ 
   //do something
}

由于

迪普