これは私が尋ねたが、決して答えたことがないこの質問を参考にして、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, "navimage")%>" AlternateText="<%# DataBinder.Eval(Container.DataItem, "client")%>" ToolTip="<%# DataBinder.Eval(Container.DataItem, "client")%>" />
<span class="desc"><%# DataBinder.Eval(Container.DataItem, "navdesc")%></span>
</div>
</ItemTemplate>
</asp:ListView>
誰でも助けることができますまたは、少なくとも、コードの背後にある各レコードをループしてすべてのURLを生成し、リストビュー内の実際のページにこれらを表示する方法を私に教えてください。
感謝、
J.
あなたはデータバインドイベントを使用することはできませんか? –
こんにちは、申し訳ありません.netにはとても新しく、現在は自分自身を教えています。これが私が苦労している理由です。 – JBoom
私のリストビューはデータにバインドされていることがわかります。私はaspのIDに対して同じことをしますか?どんな例であれ非常に役に立ちます。 – JBoom