Get HTML string from code behind

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
andre72Asked:
Who is Participating?
 
DigitalTyrantCommented:
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
 
DigitalTyrantCommented:
You can use the javascript functions escape() and unescape() in most cases.
0
 
andre72Author Commented:
A sample for <html>
After HTMLEncode:
&lt;html&gt;

Client side:
unescape() returns &lt;html&gt;
escape() returns %26lt%3Bhtml%26gt%3B
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
andre72Author Commented:
Thanks this looks much better ...
I still can't understand why special chars are destroyed - do you have an idea for?
0
 
warheroCommented:
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
 
DigitalTyrantCommented:
What do you mean destroyed?  
0
 
andre72Author Commented:
I'm sorry the special char problem was a StreamReader issue and not a de-/encoding problem
0
 
andre72Author Commented:
Thanks for your support the JQuery and the HTMLDecoder Custom Class both works fine!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.