Avatar billede janemil Nybegynder
01. april 2005 - 14:47 Der er 6 kommentarer og
1 løsning

"Newline in Constant" ved compile

Jeg har noget C# hvor jeg laver en String i CodeBehind jeg skriver på på frontend.

Hardcodes denne værdi
" + AirportDeparture + "
Virker det fint.

Men kan ikke rigtig få min C# værdi ned i den streng. Fejlen er "Newline in Constant" ved compile. Har prøvet en masse \ osv men mangler lige den rette syntaks.

string bookingDepartureAirportCode = Request.QueryString["Dep"];
               
clientsideTellFriend = @"
<script language='javascript' type='text/javascript'>
<!--
var AirportDeparture = document.getElementById('BookingNewStar1_DropDownAirportDeparture');

// Departure Airport
if(AirportDeparture != null)
{
    for(i=0;i<AirportDeparture.options.length;i++)
    {
        if(AirportDeparture.options[i].value == '" + AirportDeparture + "')
        {
            AirportDeparture.options[i].selected = true;
        }
    }
}
//-->
</script>";
Avatar billede arne_v Ekspert
01. april 2005 - 15:11 #1
Prøv:

f(AirportDeparture.options[i].value == '"" + AirportDeparture + ""')
Avatar billede arne_v Ekspert
01. april 2005 - 15:12 #2
altså dublering af de " i teksten

(og det er selvfølgelig bare en copy paste fejl at i i if mangler)
Avatar billede jtbroad Nybegynder
01. april 2005 - 15:24 #3
Problemet er din string literal til javascriptet. Du har newline i uden at de er forbundet med " og +
f.eks

string Bob = @"et
            eller
            andet";
giver fejl, mens
string Bob = @"et" +
              "eller" +
              "andet";
virker.
Formattering af strengen sker med indsættelse af linieskift /r tror jeg.
Avatar billede burningice Nybegynder
01. april 2005 - 17:23 #4
jeg ville vælge at bruge String.Format() til noget som ovenstående:

clientsideTellFriend = String.Format(@"
<script language='javascript' type='text/javascript'>
<!--
var AirportDeparture = document.getElementById('BookingNewStar1_DropDownAirportDeparture');

// Departure Airport
if(AirportDeparture != null)
{
    for(i=0;i<AirportDeparture.options.length;i++)
    {
        if(AirportDeparture.options[i].value == '{0}')
        {
            AirportDeparture.options[i].selected = true;
        }
    }
}
//-->
</script>", AirportDeparture);
Avatar billede arne_v Ekspert
01. april 2005 - 18:09 #5
janemil>

du kan roligt ignorere mit forslag - jeg troede at du vill have " i teksten
Avatar billede janemil Nybegynder
03. april 2005 - 14:16 #6
Det ligner lort i min codebehide, men jtbroads forslag virker selvfølgelig. Den har jeg brugt da jeg ikke vil bruge mere tid på det.
Smider en "\r\n" efter hver række også.

Gider jtbroad, så skal jeg med glæde sende points.
Tak til alle som gad bruge deres tid på at hjælpe.
Avatar billede jtbroad Nybegynder
03. april 2005 - 22:00 #7
svar
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