Home All Groups Group Topic Archive Search About

Escaping the & in Attributes.Add()

Author
2 Oct 2007 8:10 PM
Nathan Sokalski
I am adding an onmouseover attribute using the Attributes.Add() method, and
the String I am using for the value contains the & character. However, when
rendered the & is converted to the HTML representation of & which causes
my JavaScript not to work. What can I do to prevent the Add() method from
modifying my value? Thanks.
--
Nathan Sokalski
njsokal***@hotmail.com
http://www.nathansokalski.com/

Author
2 Oct 2007 8:42 PM
Jesse Houwing
Hello Nathan,

> I am adding an onmouseover attribute using the Attributes.Add()
> method, and the String I am using for the value contains the &
> character. However, when rendered the & is converted to the HTML
> representation of & which causes my JavaScript not to work. What
> can I do to prevent the Add() method from modifying my value? Thanks.

Any attribute must escape the HTML special characters. An onCLick as well.
Are you sure this is causing the error?

--
Jesse Houwing
jesse.houwing at sogeti.nl
Author
2 Oct 2007 9:51 PM
Nathan Sokalski
Yes, I am sure because I create the value by assigning a value to a String
variable, and then using that variable in the Attributes.Add() method. For
example:

Dim onmouseover as String= "my javascript code" 'This contains &'s in my
actual code
mycontrol.Attributes.Add("onmouseover",onmouseover)

When I used this technique and ran a Debug session, the String onmouseover
looked exactly as I wanted, but the rendered code had replaced the &'s with
& which is what I am trying to avoid. Any ideas? Thanks.
--
Nathan Sokalski
njsokal***@hotmail.com
http://www.nathansokalski.com/

Show quote
"Jesse Houwing" <jesse.houwing@newsgroup.nospam> wrote in message
news:21effc901ff818c9d35ca2bfd396@news.microsoft.com...
> Hello Nathan,
>
>> I am adding an onmouseover attribute using the Attributes.Add()
>> method, and the String I am using for the value contains the &
>> character. However, when rendered the & is converted to the HTML
>> representation of &amp; which causes my JavaScript not to work. What
>> can I do to prevent the Add() method from modifying my value? Thanks.
>
> Any attribute must escape the HTML special characters. An onCLick as well.
> Are you sure this is causing the error?
>
> --
> Jesse Houwing
> jesse.houwing at sogeti.nl
>
>
Author
2 Oct 2007 10:41 PM
Jesse Houwing
Hello Nathan,

> Yes, I am sure because I create the value by assigning a value to a
> String variable, and then using that variable in the Attributes.Add()
> method. For example:
>
> Dim onmouseover as String= "my javascript code" 'This contains &'s in
> my
> actual code
> mycontrol.Attributes.Add("onmouseover",onmouseover)
> When I used this technique and ran a Debug session, the String
> onmouseover looked exactly as I wanted, but the rendered code had
> replaced the &'s with &amp; which is what I am trying to avoid. Any
> ideas? Thanks.

There are no idea's. The spec says that every attribute must be encoded using
html encoding. That includes the &. The javascript perser should work.

If you run it in Firefox, what is the message on the javascript console when
you click the html element in question (firefox is usually a bit mor eoncise
in it's error messages). There must be somethign else wrong here.

I tested the code below:

<html>
<body>
<form>
<input type="button" onclick="alert(true &amp;&amp; true);" value="test">
</form>
</body>
</html>

And it works in both Internet Explorer and Firefox (it should say true in
the alert when you click the button).

Jesse


Show quote
> "Jesse Houwing" <jesse.houwing@newsgroup.nospam> wrote in message
> news:21effc901ff818c9d35ca2bfd396@news.microsoft.com...
>
>> Hello Nathan,
>>
>>> I am adding an onmouseover attribute using the Attributes.Add()
>>> method, and the String I am using for the value contains the &
>>> character. However, when rendered the & is converted to the HTML
>>> representation of &amp; which causes my JavaScript not to work. What
>>> can I do to prevent the Add() method from modifying my value?
>>> Thanks.
>>>
>> Any attribute must escape the HTML special characters. An onCLick as
>> well. Are you sure this is causing the error?
>>
>> --
>> Jesse Houwing
>> jesse.houwing at sogeti.nl
--
Jesse Houwing
jesse.houwing at sogeti.nl

AddThis Social Bookmark Button