Solved

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

Posted on 2004-10-19
3
392 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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

777 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