jac*_*ack 9 c# asp.net events user-controls raise
我正在尝试从用户控件中引发单击事件并在包含页面上处理它.我遇到的问题是,当我点击用户控件上的'imgstep1'按钮时,imgstep1_click事件后面的代码会触发,但'btnHandler'事件总是为空.因此它不会调用父事件.
任何有关这方面的帮助将非常感激.
我的用户控制代码是:
.ascx代码:
<asp:ImageButton ImageUrl="./images/step1.gif"
ID="imgstep1" runat="server"
OnClick="imgstep1_Click"/>
Run Code Online (Sandbox Code Playgroud)
.ascx.cs代码:
public delegate void OnImageButtonClick();
public event OnImageButtonClick btnHandler;
protected void imgstep1_Click(object sender, ImageClickEventArgs e)
{
if (btnHandler != null)
btnHandler();
}
Run Code Online (Sandbox Code Playgroud)
.aspx页面代码:
protected void Page_Load(object sender, EventArgs e)
{
ucStepHdr.btnHandler += new StepsHeader.OnImageButtonClick(ucStepHdr_btnHandler);
}
void ucStepHdr_btnHandler()
{
Response.Write ('test');
}
Run Code Online (Sandbox Code Playgroud)
Pre*_*ets 11
代码看起来很简单,可以正常工作.btnHandler为null的唯一原因可能是因为未调用aspx页面中的事件注册代码.
有回帖吗?你确定你在页面加载的每个时间添加事件???
ucStepHdr.btnHandler += new StepsHeader.OnImageButtonClick(ucStepHdr_btnHandler);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8370 次 |
最近记录: |