C# Javascript与c之间的编码与解码#

C# Javascript与c之间的编码与解码#,c#,javascript,encoding,C#,Javascript,Encoding,我希望能够以如下方式将数据发送到div中的Javascript: <div class="dontDisplay><%= myData %></div> 您可能最想使用。您可以在页面中嵌入一个字符串,在脚本标记中使用json在页面上创建一个局部变量: <script> var myJsonVariabe = { propertyNane: "value" }; </script> var myJsonVariabe={propert

我希望能够以如下方式将数据发送到div中的Javascript:

<div class="dontDisplay><%= myData %></div>

您可能最想使用。您可以在页面中嵌入一个字符串,在脚本标记中使用json在页面上创建一个局部变量:

<script> var myJsonVariabe = { propertyNane: "value" }; </script>
var myJsonVariabe={propertyNane:“value”};

您可以使用将.net对象序列化为json。

您似乎只是将一些文本放入HTML文本内容中,正确的方法是纯旧HTML编码:

<div class="dontDisplay"><%= Server.HTMLEncode(myData) %></div>

如果有一个合适的属性可用(
title
可能不合适),或者有一条注释,或者直接使用Rune建议的JSON将其插入JavaScript变量。

感谢您的帮助,我需要了解的是,一旦文本用HTMLEncode编码,我如何在JavaScript端取消编码?因此,使用上面的代码,我传入:Hello&Hello它被编码为Hello&;Hello现在我想要一个Javascript字符串作为“Hello&Hello”。如何解码HTMLEncoded字符串,并在一定程度上保证HTMLEncode中的每个编码都能在Javascript端正确翻译。您不需要取消编码。当您使用
textnode.data
element.textContent
element.innerText
element.getAttribute
时,您会得到没有任何标记的纯文本内容,这将导致
Hello&Hello
。只有
innerHTML
提供了HTML编码的标记,而不一定与您输入的标记相同。所以不要用那个。
<div class="dontDisplay"><%: myData %></div>
<div id="foo"><%= Server.HTMLEncode(myData) %></div>
<script type="text/javascript">
    var myData= document.getElementById('foo').firstChild.data;
</script>
<div id="foo" title="<%= Server.HTMLEncode(myData) %>">...</div>
<script type="text/javascript">
    var myData= document.getElementById('foo').title;
</script>