Gå til innhold

C#: Hjelp til å filtrere bort verdier hvis verdi 2 er mindre enn verdi 1


Anbefalte innlegg

Hei

 

Jeg holder på med en nettside som skal vise priser fra en sql database. Resultatet av spørringen vises i form av listview, men normalpris skal ikke vises hvis kampanjepris er større enn 0, noen som kan hjelpe? Bruker visual studio 2008 og siden lages i C#, er helst vant med PHP så jeg står litt fast.

 

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<span class="s_pris">Pris: <asp:Label ID="normalpLabel" runat="server" Text='<%# Eval("normalp") %>' /></span><br />

<span class="t_pris">Tilbudspris: <asp:Label ID="saleprLabel" runat="server" Text='<%# Eval("salep") %>' /></span><br />

</ItemTemplate>
</asp:ListView>

Endret av amartinsen
Lenke til kommentar
Videoannonse
Annonse

Heisan

 

Jeg er ingen ASP ekspert, men jeg prøver meg alikevel. Jeg er litt usikker på hvordan du har enkt her. Ser ut til at du overlater testingen av verdiene til HTML koden. Hvorfor ikke la CodeBehind fikse dette?

 

Lag en metode i code behind klassen:

public int Prisen()
{
 if (t_pris > 0)
return t_pris;
 return s_pris;
}

Så kan du vel putte Prisen() inn i EVAL uttrykket ditt i stedet. Gjetter litt her altså...

 

 

edit:

Kan tenkes EVAL krever å få en string og da må funksjonen endres litt:

public string Prisen()
{
 if(t_pris > 0)
return t_pris.ToString();
 return s_pris.ToString();
}

Endret av HDSoftware
Lenke til kommentar

Takk for svar.

 

Jeg skal teste litt med codebehindtipsene, må bare lese meg litt frem til det. Angående SQL strengen så tenkte jeg på dette også, men ble ikke helt klok på meg selv, prøvde litt forskjellig, men ble ikke så greit :-P

 

SelectCommand="SELECT [ean], [info], [normalp], [salep] FROM [liste] WHERE ([ean] = @ean)">

 

Altså, jeg har et skjema på siden der ean kode angis og så ved å trykke på Søk så returneres prisinformasjon om varen samt informasjon om varen (info), hvis salep er større enn 0 så skal normalp vises, motsatt hvis salep er større enn 0.

 

Det fungerte veldig greit i PHP, men i ASP må man altså bruke codebehind har jeg nå skjønt.

Endret av amartinsen
Lenke til kommentar

Du missforstår ;)

 

CodeBehind i ASP.NET betyr bare den kompillerte C# koden som kjører bak scriptet. Det er akkurat det samme som skjer i PHP og ellers absolutt alle andre Server Side Scripts. Vi bare kaller det CodeBehind i .NET

 

Du kan godt ha C# koden din direkte i ASPX dokumentet slik du gjør det i PHP. Det er helt opp til deg, men av vedlikeholdsmessige hensyn så er det mere oversiktelig å putte koden ut i et eget dokument og heller referere til dette dokumentet i ASPX dokumentet

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...