Faisal
Faisal

Reputation: 179

How to add link button and pass parameter in gridview using asp.net dynamically?

I want to add a link button in grid view dynamically, that button should keep parameter and when user click the button it has to go to respective page where i map

For ex: If button text is "View more" when user clicks the button,button will pass 'id' value, it will move to Details.aspx?id=10 and on that page, it will show the data by retrieve from database using that id value.

I know how to retrieve data from database. But i don't know hot add link button with parameter.

Here this is my code

protected void Page_Load(object sender, EventArgs e)
    {
        // data load to grid view
        loadDataTable();

    }

    private void loadDataTable()
    {
        DataSet ds = new DataSet();
        DataTable dt;
        DataRow dr;

        DataColumn date;
        DataColumn designation;
        DataColumn experience;
        DataColumn location;
        DataColumn nationality;
        DataColumn details;

        dt = new DataTable();

        date = new DataColumn("Date");
        designation = new DataColumn("Designation");
        experience = new DataColumn("Experience");
        location = new DataColumn("Location");
        nationality = new DataColumn("Nationality");
        details = new DataColumn("Details");

        dt.Columns.Add(date);
        dt.Columns.Add(designation);
        dt.Columns.Add(experience);
        dt.Columns.Add(location);
        dt.Columns.Add(nationality);
        dt.Columns.Add(details);

        dr = dt.NewRow();

        dr["Date"] = "10/2/2016";
        dr["Designation"] = "Asp.net";
        dr["Experience"] = "5";
        dr["Location"] = "Jeddah";
        dr["Nationality"] = "Indian";
        dr["Detais"] = "";   // ADD LINK BUTTON 

        dt.Rows.Add(dr);

        ds.Tables.Add(dt);
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();


    }

asp.net code

<div class="row">
                <div class="col-sm-12 col-md-12 col-lg-12">
                    <asp:GridView ID="GridView1" runat="server"></asp:GridView>
                </div>
            </div>

I want to add link button in Details header.

please help me. I am new to gridview and asp.net

Upvotes: 0

Views: 1809

Answers (1)

Ted
Ted

Reputation: 4067

how about adding an anchor?

dr["Detais"] = "<a href='Details.aspx?id="+ dr["id"].ToString() + "' target='_blank'>View Details</a>";

I'm not sure about the id field but this will work

EDIT

Change the Details column into a Literal column with something like this:

<asp:TemplateField headertext="Details">
   <ItemTemplate>
      <asp:Literal id="Literal1" runat="server" text='<%# Eval ("Details") %>'></asp:Literal>
   </ItemTemplate>
</asp:TemplateField>

Upvotes: 2

Related Questions