Becuase of the presence of an ampersand (&) in the value of cadd2 (between 3
and 4), the next page doesn't get the correct querystring. The querystring
carried forward to the next page looks something like this:

Page1.asp?cname=Danny&cadd1=House%2097&cadd2=Sector 3

That's it!!! Now how do I ensure that the presence of ampersand in any value
of the querystring doesn't affect the querystring in any way & the next page
gets the correct querystring? I even tried using Server.URLEncode but that
didn't make any difference.

"Arpan" <> wrote in message
news:...
> A link has the following URL:
>
> <a href="Page1.asp?cname=<%= Request.QueryString("cname") %>&cadd1=<%=
> Request.QueryString("cadd1") %>&cadd2=<%= Request.QueryString("cadd2")
> %>&cplace=<%= Request.QueryString("cplace") %>">Click</a>
>
> Suppose the names in the above querystring have the following values:
>
> cname="Danny"
> cadd1="House 97"
> cadd2="Sector 3 & 4"
> cplace="Timbaktoo"
>
> Becuase of the presence of an ampersand (&) in the value of cadd2 (between
3
> and 4), the next page doesn't get the correct querystring. The querystring
> carried forward to the next page looks something like this:
>
> Page1.asp?cname=Danny&cadd1=House%2097&cadd2=Sector 3
>
> That's it!!! Now how do I ensure that the presence of ampersand in any
value
> of the querystring doesn't affect the querystring in any way & the next
page
> gets the correct querystring? I even tried using Server.URLEncode but that
> didn't make any difference.
>
> Thanks,
>
> Arpan
>
>

Advertisements

> gets the correct querystring? I even tried using Server.URLEncode but that
> didn't make any difference.

Can you show the code you used, and how it "didn't make any difference"?
Server.URLEncode should encode your spaces and special characters so that
they are passed correctly in the URL and are fully recoverable by the
receiving page.

Thanks Aaron. Actually I had to re-model the application where in a user
clicks a link in Page1.asp (href of the link along with the entire
querystring being the same as what I had provided in my first question). Due
to some reasons, I am assigning the href of the link in Page1.asp using
JavaScript (though it could have been done using ASP as well). Assume that
clicking this link takes the user to Page2.asp. In the JavaScript code in
Page1.asp (which directs the user to Page2.asp), I have used the function
decodeURI so that the ampersand existing within a value in the querystring
gets passed on to Page2.asp. As expected, Page2.asp gets the querystring in
the correct format. The querystring looks something like this:

?cname=Danny&cadd1=House 97&cadd2=Sector 3 & 4&cplace=Timbaktoo

Page2.asp has another link, clicking which the user is taken back to
Page1.asp along with the entire querystring. This is the code which creates
the link (note that I have encompassed the value of cadd2 in
Server.URLEncode()):

But when the user goes back to Page1.asp, the querystring in Page1.asp looks
like this:

?cname=Danny&cadd1=House+97&cadd2=Sector+3+&cplace=Timbaktoo

Please note that in the value of cadd2, the characters "& 4" have been
neglected. I hope I have taken the right approach. Could you please try to
sort out this problem?

Thanks,

Regards,

Arpan

"Aaron Bertrand [MVP]" <> wrote in message
news:...
> > gets the correct querystring? I even tried using Server.URLEncode but
that
> > didn't make any difference.
>
> Can you show the code you used, and how it "didn't make any difference"?
> Server.URLEncode should encode your spaces and special characters so that
> they are passed correctly in the URL and are fully recoverable by the
> receiving page.
>
>

Share This Page

Welcome to The Coding Forums!

Welcome to the Coding Forums, the place to chat about anything related to programming and coding languages.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask questions about coding or chat with the community and help others.
Sign up now!