Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Get HTML string from code behind

Posted on 2010-11-23
8
998 Views
Last Modified: 2013-12-17
Hi,

I generate some HTML code from code behind I like to use at client side.
The strings are very complex (full HTML sides) and if I return as raw I get errors and my JavaScript don't work any more (destroyed by the return value).
So I need something like HttpUtility.HtmlEncode before I return it to client.
This works fine but now I need to convert it back as the HTML tags now destroyed and also the layout.
Is there a other function that may work than HttpUtility.HtmlEncode JavaScript can handle native?

Thanks

Andre
0
Comment
Question by:andre72
  • 4
  • 3
8 Comments
 
LVL 4

Expert Comment

by:DigitalTyrant
ID: 34201367
You can use the javascript functions escape() and unescape() in most cases.
0
 

Author Comment

by:andre72
ID: 34201485
A sample for <html>
After HTMLEncode:
&lt;html&gt;

Client side:
unescape() returns &lt;html&gt;
escape() returns %26lt%3Bhtml%26gt%3B
0
 
LVL 4

Accepted Solution

by:
DigitalTyrant earned 250 total points
ID: 34201655
The escape() and unescape() functions are alternatives to what you're attempting.  If you include the line
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.js"></script>
in the header of the page, you can use the following line in your javascript.

$("<div>").html("&lt;html&gt;").text()

that line uses jQuery to create a temporary div to convert the string to HTML. For example,

var htmlCode = $("<div>").html("&lt;html&gt;").text();

There are plenty of other custom functions that make the conversion but jQuery is easy to implement and well maintained.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:andre72
ID: 34201726
Thanks this looks much better ...
I still can't understand why special chars are destroyed - do you have an idea for?
0
 
LVL 1

Assisted Solution

by:warhero
warhero earned 250 total points
ID: 34201778
I see, that's unusual - Javascript function;

escape - for encoding
unescape - for decoding

in your sample, it doesn't seem like decoding function works.

at the moment i can't be sure why but i can suggest some trails and you see how these affect the string value you're trying to encode and decode.

1. make sure the string being decoded in client side is a string
2. try trimming the white space in both sides
3. try using alternative representation for string like use of double and single quotes and see if something happens
4. as for a dirty trick try double decode to see if that does something
unescape(unescape("&lt;html&gt;");

Open in new window

5. i found a custom made encoding class in javascript, try fiddling with your html class to see it this helps, also you would learn how encoding works Custom Class - Html Encoder
 

Reference:
0
 
LVL 4

Expert Comment

by:DigitalTyrant
ID: 34201853
What do you mean destroyed?  
0
 

Author Comment

by:andre72
ID: 34204071
I'm sorry the special char problem was a StreamReader issue and not a de-/encoding problem
0
 

Author Closing Comment

by:andre72
ID: 34204081
Thanks for your support the JQuery and the HTMLDecoder Custom Class both works fine!
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

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

Article by: DanRollins
This article describes a JavaScript program that creates a maze made of hexagonal cells.  In Part 2 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7850-Hex-Maze-Part-2.html), we'll extend the program by adding a depth-…
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

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