【问题标题】:How to show gridview rows as links?如何将gridview行显示为链接?
【发布时间】:2013-06-20 12:29:21
【问题描述】:

我有一个 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();
    }

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

我怎样才能做到这一点?

【问题讨论】:

  • 您希望该行的每个单元格中的文本成为显示更多详细信息的超链接?什么是“更详细”,应该如何显示细节?又一排?弹出窗口?你需要提供更多关于你想要什么的细节。本网站并非旨在成为“这是我的想法,为我编写代码”的请求网站。该站点为问题提供帮助,但前提是您已经完成了一些研究并详细说明了您尝试过的内容。你已经做了最少的努力,只是要求别人做你的工作。
  • @Karl:更多详细信息是我想在不同页面上显示的表格中的其他一些字段。 .我只是在这里要求一些提示,因为我提到我是编程新手
  • 好的,你知道GridView中BoundField和TemplateField的区别吗?
  • @Karl:是的,一点点
  • TemplateField 允许您在单元格中构建各种类型的 UI 控件(链接、下拉列表等)。正如下面的答案所示,您需要构建一个 LinkBut​​ton,从查询返回到数据库的数据中的字段中获取其文本。 GridView 有许多事件,其中一个重要事件是 RowDataBound 事件,它会为放入 GridView 的每一行触发,在这里您可以为 GridView 中的每个链接设置唯一值(即每个链接将指向到同一页面,但有不同的查询字符串)。

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


【解决方案1】:

您可以使用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复制了这个答案。

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 2014-04-06
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多