私は現在、.netを学んでおり、URLルーティングを実装しようとするとレンガの壁になっています。ASP.NET 4 NavigateUrlに適用するデータへのアクセス
私は大丈夫ですが、データベースの情報からハイパーリンクを生成しようとしています。
'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()
フロントエンドでは、私がデータにアクセスし、使用してすべてのレコードを表示することができます:
<asp:ListView ID="lvPortfolioNav" runat="server">
<ItemTemplate>
<div class="work">
<asp:HyperLink runat="server" NavigateUrl="portfolio/<%# DataBinder.Eval(Container.DataItem, "id")%>/<%# FormatLinks(DataBinder.Eval(Container.DataItem, "category")) %>/<%# FormatLinks(DataBinder.Eval(Container.DataItem, "title")) %>" 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:HyperLink runat="server" NavigateUrl="portfolio/<%# DataBinder.Eval(Container.DataItem, "id")%>/<%# FormatLinks(DataBinder.Eval(Container.DataItem, "category")) %>/<%# FormatLinks(DataBinder.Eval(Container.DataItem, "title")) %>" ToolTip=""><span class="title"><%# DataBinder.Eval(Container.DataItem, "title")%></span></asp:HyperLink>
、データベースから値を取得することはありませんし、HTML内のリンクは、文字通りのように出てくる:
<a href="../../portfolio/%3C%25#%20DataBinder.Eval(Container.DataItem,%20%22id%22)%25%3E/%3C%25%23%20FormatLinks(DataBinder.Eval(Container.DataItem,%20%22category%22))%20%25%3E/%3C%25%23%20FormatLinks(DataBinder.Eval(Container.DataItem,%20%22title%22))%20%25%3E"><span class="title">Kingston Bagpuize House Website</span></a>
同じことは、私が間違ってやっているので、わからないIMAGEURLのため正常に動作します。
私はあなたがバックエンドコードでURLを生成するために何かできることは知っていますが、私の人生はインターネット上の何かを見つけることはできません.....ヘルプは非常に高く評価されるでしょう。
ありがとうございました。
J.
この
NavigateUrl = '<%の# "〜/ ProductList.aspx?ITEMSUBCATID =" + DataBinder.Eval(Container.DataItem、 "ITEMSUBCATID")%>' のようにそれを行います提案され、変更されました:」ヒント=> "><%#DataBinder.Eval(Container.DataItem、" title ")%> asp:HyperLink>しかし、まだエラーが表示されます:サーバータグが正常に作成されていません。 と同じ行。 –
JBoom
リンクごとにNavigateURLで二重引用符ではなく一重引用符に置き換えることはできますか。 –