【问题标题】:How to get a data field in gridview to become a url如何让gridview中的数据字段变成url
【发布时间】:2013-04-03 09:43:55
【问题描述】:

再一次,我知道这个问题已经回答了很多次了,但是我对所有的例子都感到困惑。所以我会以我需要回答的方式问它。

我有一个 sql 表,supplylinks。这有rowid(身份pk)、title(varchar)、link(varchar)和description(varchar)。

链接字段是一个实际的超链接,一个 url。 所以为了争论,假设第一行是:

1 |谷歌 | http://www.google.com |谷歌搜索引擎

很简单。 现在我将它加载到gridview中。 没什么花哨的,都是用 c# 代码完成的。

SqlConnection conn = new SqlConnection(@"Server=DEV6\MSSQLHOSTING;Database=Intranet;Trusted_Connection=True;");
        ds = new DataSet("ds");
        if (type.Equals("SAIX"))
        {

            SqlDataAdapter da = new SqlDataAdapter("select [Title],[Link],[Description] from SupplierLinks where SuppRowID = " + index, conn);
            da.Fill(ds);
        }
        if (type.Equals("Domian Related Links"))
        {
            SqlDataAdapter da = new SqlDataAdapter("select [Title],[Link],[Description] from DomainLinks where SuppRowID = " + index, conn);
            da.Fill(ds);
        }
        if (ds.Tables.Count > 0)
        {
            if (ds.Tables[0].Rows.Count > 0)
            {

                grdLinks.DataSource = ds;

                grdLinks.DataBind();
            }
        }
        else
        {
            lblDisp.Text = "";
            lblError.Text = "There are no links for that type";
        }

那里没有错。我得到我的信息。但是我现在想将 sql 表返回的链接作为正确的链接放入 gridview 中,这样当有人点击链接时,他们会被重定向到 Google,在这种情况下。

请帮忙。这里的所有其他编码都让我感到困惑。很多人说我必须在 gridview 中添加一个超链接列。但是在哪里?

我已经走了这么远,然后迷失了要绑定什么。

<asp:GridView ID="grdLinks" runat="server">
    <Columns>
        <asp:HyperLinkField DataNavigateUrlFields="col2" 
    </Columns>
</asp:GridView>

就像我说的,我迷失了方向。

提前谢谢你。

【问题讨论】:

    标签: c# asp.net sql database gridview


    【解决方案1】:
    <Columns>
        <asp:HyperLinkField DataTextField="LeadID" DataNavigateUrlFields="LeadID" DataNavigateUrlFormatString="LeadInformation.aspx?LeadID={0}" Text="Lead ID" />
        <asp:BoundField DataField="DateTime" HeaderText="Date Updated" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Bind("LeadID") + Request.QueryString("type") %>' Text=""></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    

    希望对你有帮助

    【讨论】:

    • 不。这是让我困惑不已的帖子。不知道放什么和放哪里。对不起
    • 这里到底有什么令人困惑的地方?只需添加一个模板字段并进行绑定。在 GridView 中显示链接之前,您是否正确完成了 gridview 绑定?
    • 它的查询字符串。我不知道我必须放什么,如果有的话。这似乎增加了一个新列。我想调整当前列并使其成为超链接。这可以通过编程方式完成吗?动态的?
    【解决方案2】:

    我只需要

    <a href='<%# Eval("Link") %>'>
                    <asp:Label ID="LinkLabel" runat="server" Text='<%# Eval("Link") %>' /></a>
    

    在我的列表视图中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 2023-01-28
      • 1970-01-01
      • 2011-12-20
      • 2016-01-09
      相关资源
      最近更新 更多