如何将gridview行显示为链接?

时间:2013-06-24 04:28:40

标签: c# asp.net .net gridview hyperlink

我有一个gridView。 。

<asp:GridView ID="GridAll" runat="server">

</asp:GridView>

和背后的代码。 。

protected void BindGrid()
    {
        conn = new SqlConnection(connString);
        cmdBind = new SqlCommand("SELECT Name, Department, Year FROM UserProfile",conn);
        conn.Open();
        reader = cmdBind.ExecuteReader();
        GridAll.DataSource = reader;
        GridAll.DataBind();
        reader.Close();
        conn.Close();
    }

工作正常。 。 。 现在我希望网格视图将所有行显示为链接,以便单击链接显示更多详细信息。 。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用GridView模板字段

轻松完成
 <asp:TemplateField>
         <HeaderTemplate>
           Link
         </HeaderTemplate>
         <ItemTemplate>
             <asp:LinkButton PostBackUrl='<%# Eval("Value" )%>' Text='<%# Eval("Value" )%>'
                   ID="lnk" runat="server" />
         </ItemTemplate>
     </asp:TemplateField>

在哪里为您要放置的链接赋值。你也可以从代码背后做同样的事情:

protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Customer cust = e.Row.DataItem as Customer;
            if (!cust.ShowURL)
            {
                LinkButton lnkWebURL = e.Row.FindControl("lnk") as LinkButton;
                //Set lnkWebURL stugg
            }
        }
    }

我从here复制了这个答案。

相关问题