Click here to Skip to main content
13,055,629 members (51,920 online)
Rate this:
Please Sign up or sign in to vote.
See more:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            if (e.Row.RowType == DataControlRowType.DataRow)
                var firstCell = e.Row.Cells[4];
                Button btn_chk = new Button();
                btn_chk.Text = firstCell.Text;
                btn_chk.CommandName = "btn_chk";
                //firstCell.Controls.Add(new HyperLink { NavigateUrl = "Default.aspx?Search="+firstCell.Text+"|"+e.Row.Cells[3].Text, Text= firstCell.Text });
        protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)

I am able to add a button in RowDataBound event but not in RowCreated event.

Actual Problem:Data is binded to grid only first time of page load.
When the button is added on RowDataBound then on click of that button, the control doesn't render on consequent postbacks

protected void Page_Load(object sender, EventArgs e)
            if (!IsPostBack)
                List<string> years = new List<string>();
                for (int i = 0; i > -6; i--)
                drpYear.DataSource = years;
                DataSet dt = GetExistingRecords();
                GridView1.DataSource = dt;

So tell me a way to add controls to a grid in code behind(i don't want to use Template fields)
Which will be rendered even on the second postback();
Posted 1-Jul-13 6:40am
Updated 1-Jul-13 17:59pm
Rohan Leuva129.3K

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 13 Jul 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100