2011-05-19 87 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 
    } 
}