English 中文(简体)
事件不会在自定义控件中激发
原标题:Event wont fire in custom control

我正在尝试创建一个简单的自定义控件,其中控件上有一个图像按钮和一个标签。

我面临的问题是,图像按钮与指定的属性一起显示得很好。但不知何故,当我点击图像按钮时,它不会生成点击事件。页面简单地刷新。

有人能告诉我出了什么错吗???

public override ControlCollection Controls
{
    get
    {
        EnsureChildControls();
        return base.Controls;
    }
}

protected override void RenderContents(HtmlTextWriter output)
{
    //CreateChildControls();
    AssociateValuesWithProperties();

    ibFirst.RenderControl(output);
    output.RenderEndTag();
}

protected override void CreateChildControls()
{
    Controls.Clear();

    // Set subcontrols behavior
    //adding the event handlers to the image buttons
    ibFirst.Click += new ImageClickEventHandler(ibFirst_Click);
}

private void AssociateValuesWithProperties()
{
    ibFirst.ImageUrl = FirstImageSrcNormal;
    ibFirst.AlternateText = FirstImageAltText;
    ibFirst.ToolTip = FirstImageAltText;
}

protected void ibNext_Click(object sender, ImageClickEventArgs e)
{
    this.CurrentPage++;
}

非常感谢。

最佳回答

Ah!! I found the solution to my problem.

在函数CreateChildControls()中,我们还应该将控件添加到控件集合中。一旦我做到了,代码就可以正常工作了。

谢谢

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签