J'apprends actuellement .net et je suis arrivé à un mur de briques en essayant d'implémenter le montage d'url. J'ai la plupart de travail très bien, mais j'essaie de générer des liens hypertexte à partir d'informations dans ma base de données.ASP.NET 4 ACCÉDER AUX DONNÉES POUR S'APPLIQUER À NavigateUrl
Je reçois les données est bien passé à l'aide:
'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()
À l'avant, je peux accéder aux données et afficher tous les enregistrements à l'aide:
<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>
Le problème est ligne:
<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>
il ne sera pas les valeurs de la base de données et dans le code HTML le lien vient littéralement comme:
<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>
la même chose fonctionne très bien pour le ImageUrl donc je ne sais ce que je fais mal.
Je sais que vous pouvez faire quelque chose dans le code backend pour générer les URL mais je ne peux pas pour la vie de moi trouver quelque chose sur internet ..... l'aide serait très appréciée.
Merci.
J.
J'ai essayé comme suggéré et changé en: » info-bulle = ""><% # DataBinder.Eval (Container.DataItem, "title")%> asp: HyperLink> mais je reçois toujours l'erreur: L'étiquette du serveur n'est pas bien formé sur la même ligne –
JBoom
Pouvez-vous le remplacer par guillemets simples au lieu de double dans NavigateURL selon le lien –