Yup, I don't think there is any easy solution save the
workaround you used. Frankly, I think they got this
one wrong in ASP.NET. It does the html encoding
automatically on that method call. The only other
workaround I can think of is to use methods of the HtmlTextWriter
and simply write the whole element without the
encoding turned on. That's not as easy to pull off as your workaround
and may need a custom control.
The correct way for ASP.NET to have done this would've been to at least
turn off html encoding when "javascript
:" is prepended to the text, or
better
yet, another parameter in that method for the encoding, just like one of the
overloads of the AddAttribute method of the HtmlTextWriter.
"Nathan Sokalski" <nj********@hotmail.com> wrote in message
news:OM**************@TK2MSFTNGP14.phx.gbl...
That would return the String && which is what I am currently putting in.
The conversion to && occurs somewhere between the call to
Attributes.Add() and the time that the page is sent to the browser. The
problem is that I don't know where, and if I did, I am not sure it is an
area of code that I have the ability to edit, because I think it is in
some area of the code that is part of ASP.NET, and I therefore do not have
access to the source code. I do still want to find a way to output characters
without having them go through what I think is the Server.HtmlEncode()
method, but I have found a reasonably simple workaround for doing what I
was trying to do that caused me to start this thread (see the message I posted
at 2/28/2006 7:32 PM for the workaround I found)
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/
"Scott M." <s-***@nospam.nospam> wrote in message
news:e2**************@TK2MSFTNGP09.phx.gbl... Server.HTMLDecode("&&")
"Nathan Sokalski" <nj********@hotmail.com> wrote in message
news:%2******************@tk2msftngp13.phx.gbl...I add a JavaScript event handler to some of my Webcontrols using the
Attributes.Add() method as follows:
Dim jscode as String = "return (event.keyCode>=65&&event.keyCode<=90);"
TextBox2.Attributes.Add("onKeyPress", jscode)
You will notice that jscode contains the JavaScript Logical And
operator (&&). However, ASP.NET renders this as && in the code that is
output, even though it is intended to be client-side JavaScript, not a
visible onscreen character. How can I get ASP.NET to output
onKeyPress="return (event.keyCode>=65&&event.keyCode<=90);"
instead of
onKeyPress="return (event.keyCode>=65&&event.keyCode<=90);"
I am using VB.NET to write my server-side code, and am using Visual
Studio .NET 2003 with .NET 1.1. Thanks in advance for any help you can
give.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/