2011-05-19 100 views
2

如何在网格视图的某个列内放置超链接。 数据从数据集GridView控件上的超链接

这里正在添加是我的代码

 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(); 

1场是电子邮件地址 当数据与GridView的绑定,然后EmailAddress的字段包含超链接,所以当我点击电子邮件地址导航到另一个页面

回答

2

您必须添加模板领域,像...

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

使用在GridView中的代码下面并绑定列。

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

打通查询字符串您网页上的电子邮件..

0

使用此sintax:

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

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

,并使用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 
    } 
}