Hari
Hari

Reputation: 29

Hyper link on GridView Control

How to place hyperlink inside certain column of the gridview . data is comming from the Dataset

Here is My code

        scon.Open();
        scom.CommandText = "StoredProcedure5";
        scom.CommandType = CommandType.StoredProcedure;
        scom.Connection = scon;
        string FunArea = DDlFunctionalArea.SelectedItem.Text + "%";
        scom.Parameters.Add("@FunctionalArea", SqlDbType.VarChar).Value = FunArea;
        scom.Parameters.Add("@KeySkill",SqlDbType.VarChar).Value=txtKeySkill.Text;
        scom.ExecuteNonQuery();
        sda.SelectCommand = scom;
        sda.Fill(ds, "tblJobSeeker");

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

In which One Field is Email Address When data bind with Gridview then EmailAddress field contain the HyperLink,so when i click on the email address to navigate to another page

Upvotes: 2

Views: 2982

Answers (4)

VMAtm
VMAtm

Reputation: 28355

Use this sintax:

<asp:TemplateField>
  <ItemTemplate>
    <a href='PageToNavigate?email=<%# Bind("EmailColumn")%>'><%# Bind("TextToEmailColumn")%></asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField>

or

<asp:TemplateField>
  <ItemTemplate>
    <asp:HyperLink id="hplink" runat="server" Text='<%# Bind("columnname")%>' NavigateUrl='<%# Bind("columnname")%>'></asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField>

and use the ItemDataBoundHandler:

protected void sgrAssignedRequests_ItemDataBound(object sender, GridViewEditEventArgs e)
{
  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  {
    var hpl = (HyperLink)e.FindControl("hplink");
    // set values here
  }
}

Upvotes: 0

Mr A
Mr A

Reputation: 6768

<asp:TemplateField>
            <ItemTemplate>
            <asp:HyperLink id="hplDate" runat="server" Text='<%# Eval("email")%>' NavigateUrl='<%# "~/yourpage.aspx?email="+Eval("email") %>'></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>

Get the email on you page through querystring ..

Upvotes: 1

Saurabh
Saurabh

Reputation: 5727

Use below code in GridView and bind the columns.

<asp:TemplateField>
                <ItemTemplate>
                <asp:HyperLink id="hplink" runat="server" Text='<%# Bind("columnname")%>' NavigateUrl='<%# Bind("columnname")%>'></asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>

Upvotes: 1

Muhammad Akhtar
Muhammad Akhtar

Reputation: 52241

You have to add Template field, like...

 <asp:TemplateField HeaderText="HeaderText">
      <ItemTemplate>
          <asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink>
      </ItemTemplate>
 </asp:TemplateField>

Upvotes: 2

Related Questions