Avatar billede kimdolleris Nybegynder
04. juli 2007 - 14:24 Der er 8 kommentarer og
1 løsning

Erstatte url

Hej!

Jeg har lige spurgt i php-kanalen, men har lige fundet ud af at den akutelle sag skal ligge på en win (asp) server...

http://www.eksperten.dk/spm/786171

Det handler om at jeg vil sjule min url'er og i stedet have en "default.asp?id=1" ind (eller noget tilsvarende). Hvordan gør jeg det i asp ?

På forhånd tak!
Avatar billede fennec Nybegynder
04. juli 2007 - 17:25 #1
Den link type du efterspørger, er normalt noget man får via et CMS (Content Management System), hvor siderne bliver gemt i en database.

Der svare ID'et så til rækkens ID i databasen.

Vil du have dine links på denne måde, kan du lige så godt gøre det rigtigt og lægge din HTML kode i en database...

Kender du noget til databaser, CMS og WYSIWYG (What You Se Is What You Get) editor?
Avatar billede kimdolleris Nybegynder
04. juli 2007 - 19:33 #2
Lige præcis... men man kan godt snyde lidt uden at skulle have et kæmpe system bag sitet...Se fx den post omkring det samme bare i php...

Altså en asp fil der giver mine htmls et id og derefter includer :O)

(Og ja jeg kender godt til db, cms og wysiwyg - bare ikke programmeringen af dem ;-))
Avatar billede and_ Nybegynder
04. juli 2007 - 23:33 #3
du kan bruge server.transfer() fx.

Den er stort set det samme som response.redirect()
Hvor responsen skifter url'en i adressebaren sørger server.transfer() for at holde den.

Se evt. følgende link:
http://msdn2.microsoft.com/en-us/library/ms525800.aspx
Avatar billede kimdolleris Nybegynder
05. juli 2007 - 10:57 #4
Hmm.. det er måske ikke så simpelt...

Se php-eksemplet her:
--------
<?php
if(isset($_GET['p'])) {    $p = $_GET['p']; }
else { $p = 1; }

switch($_GET['p']){
  case 1:
      include('forside.html');
  break;
  case 1:
      include('side2.html');
  break;
  case 1:
      include('side3.html');
  break;
  default:
      include('404.html');
  break;
}

?>
--------

Så vidt jeg kan læse så er den eneste funktion at give de forskellige html'er et 'navn' og derefter include hele siden. Kan det virkelig ikke gøres lige så simpelt i asp? Hvis det kræver at jeg omdøber fra html til asp så gør jeg det.

Altså:

forside.html ---> default.asp?id=1
side2.html ---> default.asp?id=2
side3.html ---> default.asp?id=3

etc...

:O)
Avatar billede fennec Nybegynder
05. juli 2007 - 10:58 #5
Så bruger du bare execute:

<%
ID = Request.querystring("ID")&""
if ID = "1" then
  server.execute("forside.htm")
elseif ID = "2" then
  server.execute("kontakt.htm")
elseif ID = "3" then
  server.execute("beskrivelse.htm")
elseif ID = "4" then
  server.execute("datablad.htm")
else
  'Default side
  server.execute("forside.htm")
end if
%>
Avatar billede kimdolleris Nybegynder
05. juli 2007 - 11:31 #6
Så jeg smider den kode i en default.asp (som det eneste indhold) ?
Avatar billede fennec Nybegynder
05. juli 2007 - 11:52 #7
Jeps.
Avatar billede kimdolleris Nybegynder
05. juli 2007 - 12:20 #8
Jamen det er jo smukt! Takker! Svarer du lige?
Avatar billede fennec Nybegynder
05. juli 2007 - 12:29 #9
.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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