2011-01-11 5 views
0

これは私が尋ねたが、決して答えたことがないこの質問を参考にして、ASP.NET 4 ACCESS DATA TO APPLY TO NavigateUrlだが、今はそれが冗長であると仮定する。データベースコードからURLを生成する

コードビハインドのデータベースから動的URLを生成し、それをリストビューで使用する必要がありますが、インターネットや本の中でこのようなものをカバーする場所を見つけることができません。

イムは、ページの背後にあるコードでは、以下の使用してデータを取得

'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を生成するために連結する必要がありますその後、 "ポートフォリオ/" & [ID] & "/" & [カテゴリ] & "/" & [タイトル]と連結されたテキストが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.

+0

あなたはデータバインドイベントを使用することはできませんか? –

+0

こんにちは、申し訳ありません.netにはとても新しく、現在は自分自身を教えています。これが私が苦労している理由です。 – JBoom

+0

私のリストビューはデータにバインドされていることがわかります。私はaspのIDに対して同じことをしますか?どんな例であれ非常に役に立ちます。 – JBoom

答えて

1

あなたはこのような何かにあなたのハイパーリンクを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=""> 
+0

私は昨日の午後遅くにこれを見つけましたが、返事をいただきありがとうございます。NavigateUrl = ""私は問題を引き起こしていました。 – JBoom

関連する問題