Gå til innhold

Anbefalte innlegg

Skrevet (endret)

Hei folkens

Jeg har en WEB applikasjon der brukeren kan skrive egne artikler. Dette fungerer helt topp, men har litt problemer med det å lage egne lenker i teksten. Jeg prøver å lage dette med så mye automatikk som mulig, men er litt usikker på hvordan jeg skal få det til.

 

En lenke i systemet som skal vise en artikkel ser slik ut: http://www.ThisWebSite.no/ShowArticle.aspx?ID=123

 

Når jeg bruker lenker i selve ASP koden (C#) så bruker jeg ~ for å anngi root og i f.eks. menypunktene mine så lenkes det slik:

~/ShowArticle.aspx?ID=123

 

Jeg har derfor laget URL generatoren slik at brukeren kan velge en artikkel og så genereres URL'en direkte som vist over. Men når jeg prøver å åpne lenken så vises den til dette:

http://~/ShowArticle.aspx?ID=123

 

Et alternativ til løsning kan jo være å lagre www.ThisWebSite.no som tekst i settings og bruke dette, men er dette virkelig nødvendig?

 

Kan noen hjelpe meg litt her

Endret av HDSoftware
Videoannonse
Annonse
Gjest Slettet-aNZFa3
Skrevet

Har du prøvd med:

~\\ShowArticle.aspx?ID=123

 

Jeg er ikke sikker om det funker. Jeg sitter ikke på programmeringsmaskinen min nå, så det er tatt rett fra hodet.

Skrevet (endret)

Vell, dette er vel strengt tatt ASP.NET og jeg bruker ~ for å anngi ROOT. Men det går jo ikke på HREF eller <a> tagger. Det jeg er ute etter er vel å kunen gjøre noe av det samme som ASP.NET gjør slik at jeg ikek trenger å være nødt til å lage et "WEB OMRÅDE" felt i settings tabellen min, noe som jeg har nå og som virker. Det vil si at jeg bygger lenken slik:

lblGenerertLenke.text = Globals.Settings.SiteURL & "/ShowArticle.aspx?ID=123"

Ellers rundt om kring så er jo dette gjort ved å bruke en tilde for å anngi route. Altså slik:

SomeURL = "~/ShowArticle.aspx....."

 

Men finnes det ingen enkel løsning så fungerer det helt greit med en settings altså...Eneste problemet med det er at da blir ikek WEB området "dynamisk" og kan f.eks. ikke flyttes, eller testkjøres på en annen maskin like lett.

Endret av HDSoftware
Skrevet

Mulig jeg ikke skjønner helt hva du prøver på, men hva med noe i denne dur?

 

var url = string.Format("http://{0}/Sample/ShowArticle.aspx?ID=123", HttpContext.Current.Request.Url.Host);

Skrevet

Neida, hehe. Svaret var grådig enkelt :-)

Lurer på o mikke dette er noe som er innebygget i den HTML editoren jeg benytter som "online editor" for hvis jeg dropper ~ tegnet så virker alt som det skal.

Gjest Slettet-aNZFa3
Skrevet

Det var rart, jeg trodde at hvis man droppe ~ tegnet, så ville den leite i mappen til "WebServer.exe", er ihvertfall sånn hvis jeg skal lese fra tekstdokumenter.

Skrevet

Ja, det er sikkert riktig, men jeg fant ut at det var Online HTML editoren jeg bruker som gjør dette. Ser at hvis jeg skriver /bla/bla/bla.aspx så kaller editoren dette for "Annet" og i teksten så lagres linken med full URL. Ganske snedig.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...