Avatar billede mattiw Nybegynder
26. maj 2004 - 23:20 Der er 19 kommentarer og
1 løsning

Problemer med ultrasimple funktioner (Server.MapPath, Replace, Le

Hejsa

Jeg er for nyligt blevet nødt til at skifte fra Classic ASP til ASP.NET. Hvilket jeg allerede fortryder bitterligt.

Jeg har det kolossale problem at jeg ikke kan bruge Server.MapPath(), Len(), Replace(), Left().. osv.. funktionerne i mine scripts.

Serveren melder fejl hver gang jeg prøver at benytte en eller anden funktion.

Kan nogen fortælle hvordan man "enabler" disse funktioner?

** Fejlen jeg får er: BC30469: Reference to a non-shared member requires an object reference
Avatar billede thesurfer Nybegynder
26. maj 2004 - 23:32 #1
Bruger ikke ASP.NET, men en søgning på www.google.dk gav http://p2p.wrox.com/TopicIndex/4821.htm (indlæg #2)
Avatar billede nielsbrinch Nybegynder
27. maj 2004 - 18:07 #2
Replace er f.eks. en funktion på "string". Det vil sige du bruger den sådan (C#):

string myStr = "hello world";
myStr = myStr.Replace("world", "mom");

hvorefter indholdet af myStr er "hello mom"

Du kan se en komplet oversigt over alle objekter, funktioner, hvordan de skal kaldes og eksempler på det hele, her:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/cpref_start.asp

Så er det bare at gå på opdagelse.
Avatar billede nielsbrinch Nybegynder
27. maj 2004 - 18:09 #3
Len er antal tegn i en streng, ikke?

Det bruges sådan:

myStr.Length;

Og

Server.MapPath(".");

vil have den ønskede effekt.

og Left virker ikke på samme måde - der bruges Substring i stedet, på samme måde som i Java og JavaScript.
Avatar billede mattiw Nybegynder
27. maj 2004 - 19:26 #4
Jeg spurgte ikke om hvordan man brugte funktionerne :)
Men snarere hvorfor de ikke virker i forbindelse med ASP.NET

Serveren returnerer fejl når jeg bruger funktionerne, og det er ikke fordi jeg bruger dem forkert ;)
Avatar billede -master-d- Nybegynder
27. maj 2004 - 20:45 #5
Grunden til at dine funktioner ikke virker er fordi de ikke kan bruges i VB.NET, C# eller et andet sprog, de er nemlig ikke defineret i asp.net parseren :)
Avatar billede nielsbrinch Nybegynder
27. maj 2004 - 20:48 #6
God måde at forklare det på :-)
Avatar billede mattiw Nybegynder
27. maj 2004 - 21:41 #7
Okay, kan du fortælle mig hvordan man kan få dem defineret så?
Avatar billede nielsbrinch Nybegynder
27. maj 2004 - 21:46 #8
Tjah, du kan lave en klasse og programmere dem selv. Noget i stil med:

public class VB
{
  public VB()
  {
 
  }

  public static int Len(string str)
  {
    return str.Length;
  }
}

Så skal du sørge for at have adgang til den statiske klasse og så kalde den med VB.Len("min streng")

Men ... jeg anbefaler du indfinder dig med at bruge de almindelige .NET-metoder eller vender tilbage til Classic ASP.
Avatar billede -master-d- Nybegynder
27. maj 2004 - 21:46 #9
mattiw >> Ikke defineret skal tolkes som findes ikke i ASP.NET (eller hedder noget andet), så hvis du absolut vil have de samme funktioner som i Classic ASP, må du jo selv lave funktionen :-)
Avatar billede thrytter Nybegynder
27. maj 2004 - 22:15 #10
Kunne man ikke bare tilføje "Imports Microsoft.VisualBasic" i toppen af sin VB-fil????
Avatar billede nielsbrinch Nybegynder
27. maj 2004 - 22:18 #11
Jo, noget i den retning - der har Microsoft lavet specialtilpassede funktioner.

Det kan sammenlignes med et handicap-toilet.

(Undskyld)
Avatar billede thrytter Nybegynder
27. maj 2004 - 22:35 #12
nielsbrinch>> Hvis jeg virkelig er trængende, så kan et handicaptoilet være en udmærket nødløsning..
Avatar billede mattiw Nybegynder
30. maj 2004 - 17:10 #13
takket være thrytter har jeg fået de fleste funktioner til at virke.. Men jeg mangler stadig server.mappath()

I øjeblikket bruger jeg System.Web.HttpContext.Current.Server.MapPath() hvilket er pænt irriterende i længden ?

kan man ikke lave noget fiksfaks så man kan nøjes med at bruge server.mappath() ?
Avatar billede burningice Nybegynder
31. maj 2004 - 22:27 #14
mattiw>> hvorfor fanden roder du med asp.net, hvis du ikke har tænkt dig at sætte dig ind i hvad det er for noget, men bare sidde og forvente at det er det samme som asp. Eneste de to teknikker har tilfælles er de tre første bogstaver i navnet.
Avatar billede -master-d- Nybegynder
31. maj 2004 - 22:33 #15
helt enig.
mattiw >> ASP.NET er og bliver aldrig Classic ASP. Enten er man klar til at gå videre til objekt orienteret programmering eller også er man ikke.
Avatar billede nielsbrinch Nybegynder
31. maj 2004 - 23:40 #16
Jo Mattiw, det skulle du godt kunne i din aspx og din codebehind, men ikke i dine øvrige klasser.
Avatar billede thesurfer Nybegynder
01. juni 2004 - 15:00 #17
Jeg hopper ud af dette spm..
Hvis I har en besked til mig, skriv en henvisning her: http://www.eksperten.dk/spm/501654
Avatar billede mattiw Nybegynder
01. juni 2004 - 18:11 #18
Lukker spm'et... det er ikke lige den slags "konstruktiv kritik" jeg leder efter...
Avatar billede mattiw Nybegynder
01. juni 2004 - 18:11 #19
thrytter, hvis du vil have point så post lige et svar.. tak
Avatar billede thrytter Nybegynder
01. juni 2004 - 19:02 #20
Så gerne
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