Reputation: 29
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
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
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
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
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