473,802 Members | 2,306 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Avoiding & when adding a JavaScript event handler using Attributes.Add( )

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.keyC ode<=90);"
TextBox2.Attrib utes.Add("onKey Press", jscode)
You will notice that jscode contains the JavaScript Logical And operator
(&&). However, ASP.NET renders this as &amp;&amp; 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="ret urn (event.keyCode> =65&&event.keyC ode<=90);"

instead of

onKeyPress="ret urn (event.keyCode> =65&amp;&amp;ev ent.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********@hotm ail.com
http://www.nathansokalski.com/
Feb 28 '06 #1
4 3947
Server.HTMLDeco de("&amp;&amp;" )
"Nathan Sokalski" <nj********@hot mail.com> wrote in message
news:%2******** **********@tk2m sftngp13.phx.gb l...
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.keyC ode<=90);"
TextBox2.Attrib utes.Add("onKey Press", jscode)
You will notice that jscode contains the JavaScript Logical And operator
(&&). However, ASP.NET renders this as &amp;&amp; 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="ret urn (event.keyCode> =65&&event.keyC ode<=90);"

instead of

onKeyPress="ret urn (event.keyCode> =65&amp;&amp;ev ent.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********@hotm ail.com
http://www.nathansokalski.com/

Mar 1 '06 #2
"Nathan Sokalski" <nj********@hot mail.com> wrote in
news:#O******** ******@tk2msftn gp13.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.keyC ode<=90);"
TextBox2.Attrib utes.Add("onKey Press", jscode)
You will notice that jscode contains the JavaScript Logical And
operator (&&). However, ASP.NET renders this as &amp;&amp; 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="ret urn (event.keyCode> =65&&event.keyC ode<=90);"

instead of

onKeyPress="ret urn
(event.keyCode> =65&amp;&amp;ev ent.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,

I think your solution of using Page.RegisterCl ientScriptBlock is
about the only reasonable thing that will work.

I used Reflector to trace thru
System.Web.UI.W ebControlsWebCo ntrol.Attribute s to see if it was doing
any kind of encoding. It turns out that
System.Web.Http Utility.HtmlAtt ributeEncode is called on any text
added via Attributes.Add. As you've found out, HtmlAttributeEn code
turns & into &amp;. It also turns double quotes (") into &quot;.

--
Hope this helps.

Chris.
-------------
C.R. Timmons Consulting, Inc.
http://www.crtimmonsinc.com/
Mar 1 '06 #3
That would return the String && which is what I am currently putting in. The
conversion to &amp;&amp; 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.HtmlEnco de()
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********@hotm ail.com
http://www.nathansokalski.com/

"Scott M." <s-***@nospam.nosp am> wrote in message
news:e2******** ******@TK2MSFTN GP09.phx.gbl...
Server.HTMLDeco de("&amp;&amp;" )
"Nathan Sokalski" <nj********@hot mail.com> wrote in message
news:%2******** **********@tk2m sftngp13.phx.gb l...
I add a JavaScript event handler to some of my Webcontrols using the
Attributes.Ad d() method as follows:
Dim jscode as String = "return (event.keyCode> =65&&event.keyC ode<=90);"
TextBox2.Attrib utes.Add("onKey Press", jscode)
You will notice that jscode contains the JavaScript Logical And operator
(&&). However, ASP.NET renders this as &amp;&amp; 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="ret urn (event.keyCode> =65&&event.keyC ode<=90);"

instead of

onKeyPress="ret urn (event.keyCode> =65&amp;&amp;ev ent.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********@hotm ail.com
http://www.nathansokalski.com/


Mar 1 '06 #4
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********@hot mail.com> wrote in message
news:OM******** ******@TK2MSFTN GP14.phx.gbl...
That would return the String && which is what I am currently putting in. The conversion to &amp;&amp; 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.HtmlEnco de()
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********@hotm ail.com
http://www.nathansokalski.com/

"Scott M." <s-***@nospam.nosp am> wrote in message
news:e2******** ******@TK2MSFTN GP09.phx.gbl...
Server.HTMLDeco de("&amp;&amp;" )
"Nathan Sokalski" <nj********@hot mail.com> wrote in message
news:%2******** **********@tk2m sftngp13.phx.gb l...
I add a JavaScript event handler to some of my Webcontrols using the
Attributes.Ad d() method as follows:
Dim jscode as String = "return (event.keyCode> =65&&event.keyC ode<=90);"
TextBox2.Attrib utes.Add("onKey Press", jscode)
You will notice that jscode contains the JavaScript Logical And operator (&&). However, ASP.NET renders this as &amp;&amp; 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="ret urn (event.keyCode> =65&&event.keyC ode<=90);"

instead of

onKeyPress="ret urn (event.keyCode> =65&amp;&amp;ev ent.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********@hotm ail.com
http://www.nathansokalski.com/



Mar 1 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2463
by: Prodip Saha | last post by:
Dear ASP.NET Gurus, I have a TextBox control with AutoPostBack set to true to execute the server scripts. I also, added some client script for validation.What I want is--execute the client script and if the cleint script returns true only then I want to execute the server scripts. Am I asking too much or is it achievable? Please don't give me an answer like --just validate on the server side... Some Background:- I have deligated an...
2
4000
by: Ben | last post by:
Hi, I'd like to have a datagrid that has a dropdownlist in the pager control for setting the page size. I can get the control into the pager inside the datagrid itemcreated event by checking for ListItemType.Pager. The problem I'm having is subscribing to the selectedindex changed event. The datagrid doesn't even seem fire an itemcommand, but that's ok, just the selectedindex changed event would do... Any advice is greatly appreciated!
1
4239
by: sianan | last post by:
I tried to use the following example, to add a checkbox column to a DataGrid in an ASP.NET application: http://www.codeproject.com/aspnet/datagridcheckbox.asp For some reason, I simply CAN'T get the example to work. I created the following two classes, provided with the example: *-*-**-*-*-*-*-*-*-*-*-*-**-*-*-*-*-CheckBoxColumn Class:-*-*-*-*-*-*-*-*-*-*-**-*-*-*-*-**-*-*-*
3
1371
by: Nathan Sokalski | last post by:
I have a VB.NET function that I am using in an ASP.NET page. The code creates a String, which contains && (the JavaScript Logical AND operator) and is used as part of the JavaScript sent to the browser. However, ASP.NET is converting this to &amp; even though it is intended to be part of the JavaScript. This is causing my JavaScript not to work correctly. How can I prevent ASP.NET from doing this substitution? Thanks. -- Nathan Sokalski...
8
2819
by: Nathan Sokalski | last post by:
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 &amp;&amp; in the code that is
13
2793
by: rincewind | last post by:
I remember reading an article (was it Herb Sutter's?) that recommended avoiding using directives. While I quite understand this recommendation for headers, what's wrong in using directive in .cpp files?
0
5577
by: gunimpi | last post by:
http://www.vbforums.com/showthread.php?p=2745431#post2745431 ******************************************************** VB6 OR VBA & Webbrowser DOM Tiny $50 Mini Project Programmer help wanted ******************************************************** For this teeny job, please refer to: http://feeds.reddit.com/feed/8fu/?o=25
3
3238
by: Nathan Sokalski | last post by:
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. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/
16
1949
by: =?Utf-8?B?R1ROMTcwNzc3?= | last post by:
Hi All, I have a neat little script that calculates price based on quantity without refreshing the page.. the script is - <script type="text/javascript"> function OpenWin(url) { window.open(url,'win','scrollbars=1,status=0,resizable=0,width=200,height=265'); }
2
1807
by: RN1 | last post by:
Consider the following code: ------------------------------ <script runat="server"> Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs) If Not (Page.IsPostBack) Then 'binding data from DB to the Repeater End If End Sub
0
9699
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10535
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10303
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10061
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9111
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7598
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6838
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5494
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5622
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.