Avatar billede Slettet bruger
09. oktober 2006 - 16:31 Der er 8 kommentarer

If koder med database

Hej.

Hvordan får jeg denne kode til at virke:
Line 14: <% if(Eval("Godkendt") == "Ja"){ %><img src="Grafik/GodKendt.gif" width="98" height="98" />
Line 15: <% }else{ %><img src="Grafik/Afvist.gif" width="98" height="98" />
Line 16: <% } %></td>

Den siger:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Avatar billede dj_uncas Nybegynder
09. oktober 2006 - 16:53 #1
I hvilken sammenhæng skal du bruge koden? Hvis du ikke er i en DataBound control kan du vel bare skrive

<% if( Godkendt == "Ja" ) Doit... %>

Forudsat at Godkendt er en variabel. Ellers må du specificere..
Avatar billede Slettet bruger
09. oktober 2006 - 19:52 #2
Godkendt er jo ikke en varibel. Det er et felt i databasen
Avatar billede Slettet bruger
09. oktober 2006 - 19:59 #3
Det er et felt i databasen. Som skal vise et ok tegn hvis Godkendt = "Ja" så ellers skal den vise et afvist tegn.
Avatar billede dj_uncas Nybegynder
09. oktober 2006 - 21:59 #4
Men er du i en databound control? Må jeg se hvordan koden udenom fejllinjerne ser ud?
Avatar billede Slettet bruger
10. oktober 2006 - 14:45 #5
<asp:DataList  ID="DataList2" Width="100%" runat="server" DataSourceID="KodersDatabase" DataKeyField="ID" >
        <ItemTemplate>
<strong style="text-transform:uppercase"><%# Eval("Kodenavn") %></strong><br />
<table width="100%" style="border-bottom:1px solid Beige">
<tr>
<td valign="top" width="98">
<%
<% if(Eval("Godkendt") == "Ja"){ %><img src="Grafik/GodKendt.gif" width="98" height="98" />
<% }else{ %><img src="Grafik/Afvist.gif" width="98" height="98" />
<% } %></td>
<td valign="top"><xmp style="margin:0px; height:100px; overflow:auto">
<%# Eval("Kode") %></xmp>
</td>
</tr>
<tr>
<td></td>
<td align="right"><asp:HyperLink runat="server" NavigateUrl='<%# "Show_code.aspx?id=" + Eval("ID") %>'>Kommentarer</asp:HyperLink></td></tr>
</table><br />
</ItemTemplate>
      </asp:DataList>
        <asp:AccessDataSource ID="KodersDatabase" runat="server" DataFile="App_data/DB.mdb"
            SelectCommand="SELECT Top 3 * FROM [Koder] order by id desc">
  </asp:AccessDataSource>
Avatar billede dj_uncas Nybegynder
10. oktober 2006 - 16:15 #6
Jeg tror dit problem er at du glemmer en '#'

Dit eksempel: <% if ...
Løsning: <%# if ...
Avatar billede Slettet bruger
10. oktober 2006 - 16:29 #7
<%# if(Eval("Godkendt") == "Ja"){ %><img src="Grafik/GodKendt.gif" width="98" height="98" />
<% }else{ %><img src="Grafik/Afvist.gif" width="98" height="98" />
<% } %></td>


Virker stadigvæk ikke
Avatar billede dj_uncas Nybegynder
10. oktober 2006 - 22:31 #8
brb.. Så er det fordi du måske skal bruge Eval() mere eksplicit:

<%# if(DataBinder.Eval( Container.DataItem, "Godkendt" ) ) == "Ja" %>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester