tags:

views:

326

answers:

1

dynamic imagebutton click event not getting fired please help i have created dynamic buttons in the asp.net oninit method

protected override void OnInit(EventArgs e) { base.OnInit(e); ImageButton img = new ImageButton(); img.ID = "first_button"; img.Click += new ImageClickEventHandler(first_Click); img.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ClassLibrary1.image.first.gif"); img.Attributes.Add("onmouseover", "onmousehand(this,'over')"); img.Attributes.Add("onmouseout", "onmousehand(this,'out')"); p1.Controls.Add(img); img.Dispose(); img = new ImageButton(); img.ID = "previous_button"; img.Click += new ImageClickEventHandler(previous_Click); img.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ClassLibrary1.image.previous.gif"); img.Attributes.Add("onmouseover", "onmousehand(this,'over')"); img.Attributes.Add("onmouseout", "onmousehand(this,'out')"); p1.Controls.Add(img); img.Dispose();

        t1.Attributes.Add("style", "color:#666666;");
        // t1.Text = "Page " + current_page + " of " + total_pages;
        t1.ID = "text_box1";
        t1.Attributes.Add("onclick", "textbox_enable('" + t1.ClientID + "')");
        p1.Controls.Add(t1);
        img = new ImageButton();
        img.ID = "go_button";
        img.Click += new ImageClickEventHandler(go_Click);
        img.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ClassLibrary1.image.go.GIF");
        img.Attributes.Add("onmouseover", "onmousehand(this,'over')");
        img.Attributes.Add("onmouseout", "onmousehand(this,'out')");
        p1.Controls.Add(img);
        img.Dispose();
        ImageButton img1 = new ImageButton();
        img1.ID = "next_button";
        img1.CommandName = "next_button";
        img1.CommandArgument = "next1";

        img1.Click += new ImageClickEventHandler(next_Click);
        img1.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ClassLibrary1.image.next.gif");
        img1.Attributes.Add("onmouseover", "onmousehand(this,'over')");
        img1.Attributes.Add("onmouseout", "onmousehand(this,'out')");
        p1.Controls.Add(img1);
        //img.Dispose();
        img = new ImageButton();
        img.ID = "last_button";
        img.Click += new ImageClickEventHandler(last_Click);
        img.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ClassLibrary1.image.last.gif");
        img.Attributes.Add("onmouseover", "onmousehand(this,'over')");
        img.Attributes.Add("onmouseout", "onmousehand(this,'out')");
        p1.Controls.Add(img);
        img.Dispose();    

} private void next_Click(object sender, ImageClickEventArgs e) {

        ImageButton next = (ImageButton)sender;
        string value = next.CommandArgument;
        current_page++;
        t1.Text = "Page " + current_page + "of" + total_pages;
    }

protected override void Render(HtmlTextWriter writer) {

        t1.Text = "Page " + current_page + " of " + total_pages; 
        p1.RenderControl(writer);
        base.Render(writer);
    }
A: 

Try this

protected void Page_Load(object sender, EventArgs e)
{
    ImageButton img = new ImageButton();
    img.ID = "SampleImage";
    img.Click += new ImageClickEventHandler(img_Click);
    this.form1.Controls.Add(img);
}

void img_Click(object sender, ImageClickEventArgs e)
{
    Response.Write("Hello World");
}
Anuraj
i have done this already but still its not working
juhi
It is working for me :) And it should work. For what purpose you are disposing the ImageButton?
Anuraj
but it doesn't go to the click method called why is it sois there some problem in the codewhere should i provide the page no in the default.aspx page
juhi
Sorry I don't understand what you mean :)
Anuraj