/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
IE-fejl ved response.redirect til url med ~
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 14:53

Hej gruppe - jeg vil lige dele følgende erfaring med jer.

Jeg har en viderestillingsside på et af mine sites - den tager et
artikelID som parameter og sender så brugeren videre med
response.redirect til den webside der er tilknyttet det pågældende
id-nummer. Det har virket glimrende i flere år, men i dag blev jeg
ringet op fordi et enkelt link voldte problemer.

Det var følgende link der gav problemer:
<http://enyt.musikeren.dk/enyt/?id=108#aid2288> - og problemet var at IE
ikke gik til den rigtige adresse når link-viderestillingen var
involveret (der var ikke noget problem i Opera og Firefox).

Efter at have undersøgt det lidt, kunne jeg se at det er #-tegnet der
gav problemer. På modtagersiden anvender jeg Request.Querystring("id")
for at få fat i id-nummeret for et givent nyhedsbrev (her nr. 108). Det
fungerer fint når der ikke anvendes response.redirect, men med
response.redirect bliver Request.Querystring("id") i IE til
"108#aid2288" - i stedet for bare "108".

Er der nogen der har set denne fejl før - og evt. har links til sider
der dokumenterer den?

Jeg løste den ved at ændre linket til siden til:
<http://enyt.musikeren.dk/enyt/?id=108&foo=bar#aid2288> - det fungerer
ganske fint. En anden mulighed er at tilpasse modtagerfilen så den
fjerner evt. efterhængt #-information.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

 
 
JH (07-02-2005)
Kommentar
Fra : JH


Dato : 07-02-05 15:30

Jens Gyldenkærne Clausen wrote:
> Jeg har en viderestillingsside på et af mine sites - den tager et
> artikelID som parameter og sender så brugeren videre med
> response.redirect til den webside der er tilknyttet det pågældende
> id-nummer.

Hvordan ser koden ud på din viderestillingsside?

--
Mvh
Jeppe

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Jens Gyldenkærne Cla~ (07-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 15:46

JH skrev:

> Hvordan ser koden ud på din viderestillingsside?

Det er en aspx-side, men basalt set henter den bare en adresse i en
tabel og laver response.redirect til denne adresse.

Da jeg testede for at undersøge problemet, brugte jeg en simpel
redirectside med følgende kode:

<% response.redirect
"http://enyt.musikeren.dk/enyt/etest.asp?enytID=2334#foowerwqer"
%>

Det gav samme fejl som den rigtige viderestillingsside.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

JH (07-02-2005)
Kommentar
Fra : JH


Dato : 07-02-05 16:28

Jens Gyldenkærne Clausen wrote:
> Det er en aspx-side, men basalt set henter den bare en adresse i en
> tabel og laver response.redirect til denne adresse.
>
> Da jeg testede for at undersøge problemet, brugte jeg en simpel
> redirectside med følgende kode:
>
> <% response.redirect
> "http://enyt.musikeren.dk/enyt/etest.asp?enytID=2334#foowerwqer"
> %>
>
> Det gav samme fejl som den rigtige viderestillingsside.

Jeg har genskabt problemet, og det er helt tydeligt at der sker noget
mystisk i IE.

Jeg gætter på at problemet ligger i at IE "gør noget" ved URL'en
(querystring'en) ved en redirect frem for et almindeligt request. Måske
hænger det sammen med de HTTP statuskoder som suser frem og tilbage.

Ved en redirect sendes statuskode 302, men jeg synes ikke det gør nogen
forskel uanset om jeg sætter status "200 OK" eller "302 Object moved" i
hhv. redirectsiden og i modtager-siden.

En mulig løsning er at bruge server.transfer, men så skifter URL'en ikke
til den nye side.

Jeg prøvede også:

Response.Buffer = True
Response.Status = "302 Object Moved"
Response.AddHeader "Location",
"http://enyt.musikeren.dk/enyt/etest.asp?enytID=2334#foowerwqer"

men det gav samme resultat som response.redirect ...

--
Mvh
Jeppe

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Martin Hintzmann And~ (07-02-2005)
Kommentar
Fra : Martin Hintzmann And~


Dato : 07-02-05 15:40

Jens Gyldenkærne Clausen wrote:
>
> Efter at have undersøgt det lidt, kunne jeg se at det er #-tegnet der
> gav problemer. På modtagersiden anvender jeg Request.Querystring("id")
> for at få fat i id-nummeret for et givent nyhedsbrev (her nr. 108). Det
> fungerer fint når der ikke anvendes response.redirect, men med
> response.redirect bliver Request.Querystring("id") i IE til
> "108#aid2288" - i stedet for bare "108".
>

ASP-koden bør slet ikke få hash-værdien med ud, når du requester.

> Er der nogen der har set denne fejl før - og evt. har links til sider
> der dokumenterer den?

Nej, men jeg har en mini test side her:
http://www.hintzmann.dk/testcenter/asp/url/

Som jeg ikke kan få til at fejle i IE.

Jeg tror ikke at det er IE, men hvilken version bruger du?

Har du en fuldt opdateret web-server?

Hvordan requester du i ASP-koden


--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Jens Gyldenkærne Cla~ (07-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 15:54

Martin Hintzmann Andersen skrev:

> ASP-koden bør slet ikke få hash-værdien med ud, når du requester.

Det er jeg helt klar over - men det er ikke desto mindre hvad der sker i
IE.


> Nej, men jeg har en mini test side her:
> http://www.hintzmann.dk/testcenter/asp/url/
>
> Som jeg ikke kan få til at fejle i IE.

Du bruger ikke response.redirect - det er kun ved redirect at fejlen
opstår.

Prøv at besøge linket her:
<http://gyros.dk/usenet/asp/redirhintzmann.asp> (der bare viderestiller
til ovenstående side).

Her får jeg id=1 i Firefox, men id=1#test i IE.


> Jeg tror ikke at det er IE, men hvilken version bruger du?

IE6 (6.0.2800.1106) på Windows 2000:

User Agent:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; i-NavFourF; .NET CLR
1.1.4322)

> Har du en fuldt opdateret web-server?

Det skulle jeg mene - men jeg tror som nævnt ikke det er webserveren der
er problemet. Det opstår også på din webserver (jf. ovenstående link).


> Hvordan requester du i ASP-koden

Request.Querystring("id")

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

JH (07-02-2005)
Kommentar
Fra : JH


Dato : 07-02-05 16:21

Jens Gyldenkærne Clausen wrote:
> Martin Hintzmann Andersen skrev:
>

Hvorfor kan jeg ikke se Martins indlæg? Han er altså ikke i mit kill
filter...

--
Mvh
Jeppe

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Martin Hintzmann And~ (08-02-2005)
Kommentar
Fra : Martin Hintzmann And~


Dato : 08-02-05 10:07

Jens Gyldenkærne Clausen wrote:
> Martin Hintzmann Andersen skrev:
>
>
>>ASP-koden bør slet ikke få hash-værdien med ud, når du requester.
>
>
> Det er jeg helt klar over - men det er ikke desto mindre hvad der sker i
> IE.
>

Jeg testede lidt videre og nu kan jeg godt genskabe problemet. Og det
tyder på at det vist er en bug i IE.

Jeg har fundet følgende om emnet:
http://www.aspfaq.com/show.asp?id=2070

Men ikke rigtigt noget der hjælper.

Prøv at spørg i et MS-forum/nyhedsgruppe for ASP. Det kan være der nogle
som ved bedre.

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Jens Gyldenkærne Cla~ (07-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 22:15

JH skrev:

> Hvorfor kan jeg ikke se Martins indlæg?

Godt spørgsmål. Det er både hos TDC og Cybercity - og formentlig
også på Sunsite (hvor det er sendt fra).

Det kan også findes på Google:
<http://groups.google.dk/groups?ie=ISO-8859-1&as_umsgid=42077da9%240%2429282%2414726298%40news.sunsite.dk>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste