代码之家  ›  专栏  ›  技术社区  ›  Shrewdroid

在自定义控件中事件不会触发

  •  0
  • Shrewdroid  · 技术社区  · 15 年前

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

    有人能告诉我是什么错误吗???

    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++;
    }
    

    谢谢您。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Shrewdroid    15 年前

    啊!!

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

    谢谢

    推荐文章