Solved

Need syntax help  -    Cell.Text = <script Language = 'JavaScript'.........

Posted on 2004-10-19
3
393 Views
Last Modified: 2009-07-29
I have a C# server control that contains a footer. The footer code is HTML w javascript rollover events. (The HTML code also calls an exernal js file for it's functions). This code works fine from a  regular aspx page, so the actual code should not be the problem, just the syntax of trying to embed javascript this way. Because of using the HTML in this manner, I have to take out all inside double quotes("). This is causing a proplem when trying to insert the javascript code because 1 line of it already has embeded quotes, and in javascript you cannot embed the same type of quotes. Is there any work around for this? Here is the code:


The HTML part of the code below works as intented, but here is the original JavaScript(aspx) page code:
<td width="103"><a href="../pages/ContactUs.aspx" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Contact US','','../images/controls/footer/contact_on.gif',1)"><img name="Contact US" border="0" src="../images/controls/footer/contact_off.gif" width="119" height="43"></a></td>

                  
Here is what I am trying to do: The problem is probably with this line that already had embeded quotes- see original code above:       +"onMouseOver='MM_swapImage('Contact US','','../images/controls/footer/contact_on.gif' ,1)'>"            

this.Rows[0].Cells.Add(new TableCell());      
            
this.Rows[0].Cells[0].Text="<script language='JavaScript' src='http://localhost/PLTP/Scripts/ContactMeRollover.js'></script>"            
 +"<TABLE WIDTH='751' BORDER='0' CELLPADDING='0' CELLSPACING='0' background='../images/controls/footer/AIS_49.gif'>"
+"<TR>"
+"<TD COLSPAN='2' vAlign='baseline' rowSpan='1'>&nbsp;"
+"</TD>"
+"<TD COLSPAN='18' bgcolor='#ffffff' background='../images/controls/footer/AIS_49.gif' width='659'><table width='98%' border='0' cellspacing='0' cellpadding='0' align='center' height='67'><tr>"
+"<td colspan='3'><FONT face='Verdana' size='2'>Simply click on the Contact Us button and a licensed AIS representative will help you with your quote.&nbsp; We can communicate with you either over the phone or via email.</FONT></td>"
+"<td width='103'><a href='../pages/ContactUs.aspx' onMouseOut='MM_swapImgRestore()'"
+"onMouseOver='MM_swapImage('Contact US','','../images/controls/footer/contact_on.gif' ,1)'>"
+"<img name='Contact US' border='0' src='../images/controls/footer/contact_off.gif' width='119' height='43'>"
+"</a>"
+"</td>"
+"</tr>"
+"</table>"
+"</TD>"
+"</TR>"
+"</TABLE>";
Again, the overall code and the HTML code work as designed..the Javascript doesn't work. I have gotten javqscript to work in this manner before but I did not have to deal with double embeded quotes.



0
Comment
Question by:dmullis
  • 2
3 Comments
 
LVL 3

Expert Comment

by:nitrogenx
ID: 12375622
you need to escape if you want to go below " and '

you can do \" and \\'

For example

string script = " alert(\"foobar\"); "

" -- will be interperted first
\" , ' -- will be interperted second
\\\", \\' -- will be interperted third
0
 
LVL 3

Accepted Solution

by:
nitrogenx earned 500 total points
ID: 12375636
To fix your code:

+"<td width='103'><a href='../pages/ContactUs.aspx' onMouseOut='MM_swapImgRestore()'"
+"onMouseOver=\"MM_swapImage('Contact US','','../images/controls/footer/contact_on.gif' ,1)\">"
+"<img name='Contact US' border='0' src='../images/controls/footer/contact_off.gif' width='119'
0
 

Author Comment

by:dmullis
ID: 12380669
Thank You!
I never knew this. This will be a great help!
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question