0

这是对我提出的这个问题的参考,但从未得到回答ASP.NET 4 访问数据以应用于 NavigateUrl,但现在假设那是多余的。

我需要在后面的代码中从数据库中生成动态 URL,然后在列表视图中使用它们,但我在 Internet 或我的书中找不到任何涉及此类内容的地方。

我在页面后面的代码中使用下面的数据获取数据:

    'portfolio navigation data
    Dim rdrPortfolioNav As SqlDataReader

    Dim cmdPortfolioNav As SqlCommand = New SqlCommand()
    cmdPortfolioNav.CommandText = "SELECT TOP 6 [id], [date], [client], [category], [title], [body], [website], [navimage], [navdesc] FROM [portfolio] ORDER BY [date] DESC"
    cmdPortfolioNav.CommandType = CommandType.Text
    cmdPortfolioNav.Connection = boomSQL

    cmdPortfolioNav.Connection.Open()
    rdrPortfolioNav = cmdPortfolioNav.ExecuteReader(CommandBehavior.CloseConnection)

    lvPortfolioNav.DataSource = rdrPortfolioNav
    lvPortfolioNav.DataBind()

    cmdPortfolioNav.Dispose()

将返回多条记录,然后我需要连接以从数据中的字段生成 URL,例如 "portfolio/" & [id] & "/" & [category] ​​& "/" & [title] 然后将它们显示在连接文本为 NavigateUrl 的列表视图:

<asp:ListView ID="lvPortfolioNav" runat="server">
                    <ItemTemplate>
                    <div class="work">
                        <asp:HyperLink runat="server" NavigateUrl="" ToolTip=""><span class="title"><%# DataBinder.Eval(Container.DataItem, "title")%></span></asp:HyperLink>
                        <asp:Image runat="server" ImageUrl="<%# DataBinder.Eval(Container.DataItem, &quot;navimage&quot;)%>" AlternateText="<%# DataBinder.Eval(Container.DataItem, &quot;client&quot;)%>" ToolTip="<%# DataBinder.Eval(Container.DataItem, &quot;client&quot;)%>" />
                        <span class="desc"><%# DataBinder.Eval(Container.DataItem, "navdesc")%></span>
                    </div>

                    </ItemTemplate>
                </asp:ListView>

任何人都可以帮助或至少让我开始了解如何遍历页面背后代码上的每条记录以生成所有 url,然后如何在列表视图中的实际页面上显示这些。

非常感激,

J。

4

1 回答 1

1

您可以将 HyperLink 上的 NavigateUrl 属性更新为如下内容:

<asp:HyperLink runat="server" NavigateUrl='<%# String.Format("portfolio/{0}/{1}/{2}", DataBinder.Eval(Container.DataItem, "id"), DataBinder.Eval(Container.DataItem, "category"), DataBinder.Eval(Container.DataItem, "title")) %>' ToolTip="">
于 2011-01-11T18:31:20.183 回答