【发布时间】:2016-12-17 06:56:33
【问题描述】:
我有这个代码:
Dim script = New HtmlGenericControl("script")
script.Attributes.Add("type", "text/javascript")
script.InnerText = "var alohaInterval = setInterval(function() {if (typeof Aloha === ""undefined"") {return;} clearInterval(alohaInterval); Aloha.ready(function() {Aloha.jQuery("".editable-content"").aloha();})}, 100);"
htmlControl.Controls.Add(script)
这会生成以下内容:
<script type="text/javascript">var alohaInterval = setInterval(function() {if (typeof Aloha === "undefined") {return;} clearInterval(alohaInterval); Aloha.ready(function() {Aloha.jQuery(".editable-content").aloha();})}, 100);</script>
问题在于它是 HTML 编码的。我的问题是:如何确保脚本不会被 HTML 编码?
【问题讨论】:
-
使用 RegisterClientScriptBlock。 msdn.microsoft.com/en-us/library/…
-
我将很快测试。您能解释一下为什么问题中显示的代码结果是 HTML-encoded 吗?
-
InnerText 对文本进行编码。 InnerHtml 应该允许它通过未编码。
-
@BertEvans,我在写问题之前也用 InnerHtml 进行了测试,我遇到了同样的行为。
标签: javascript asp.net vb.net asp.net-controls