CKEditor&上的图片上传ASP.NET 4,响应上传iframe错误

时间:2012-03-15 13:31:52

标签: c# javascript ckeditor htmlspecialchars

我正在使用带有上传图片选项的CKEditor wysiwyg编辑器。我通过设置'filebrowserUploadUrl'设置属性来设置JS。我写了一些代码来处理上传,这一切都很好。当我尝试将响应发送回CKEditor上传iframe时出现问题。我只是试图用这行JS发送JS脚本标记:

window.parent.CKEDITOR.tools.callFunction( " + CKEditorFuncNum + ", '" + relativePath + "' );

这应该做的是填充URL字段并在图像弹出窗口的图像信息选项卡上显示图像的预览。这不起作用,如果我在“上载”选项卡上查看iframe的源代码,则JS脚本标记已编码,如下所示:

<script type='text/javascript'> window.parent.CKEDITOR.tools.callFunction( 2, '/uploads/ducati-916-2.jpg' ); </script>

我正在使用:

Response.Write(...) 

我也试过

Response.BinaryWrite(...)

写出js标签字符串。

我不认为这是Response.Write()的正常行为,但可能会在其他地方编码。

为什么这个字符串被编码的任何线索?感谢您的任何帮助。

感谢。 伊恩

2 个答案:

答案 0 :(得分:1)

我认为最好简单地制作 CKEditorFuncNum relativePath 受保护的成员变量,并在客户端将其写为:

<script type="text/javascript">
  window.parent.CKEDITOR.tools.callFunction(
            <%= CKEditorFuncNum %>, '<%= relativePath  %>');
</script>

希望它有所帮助!

答案 1 :(得分:0)

最好在某种类型的视图中使用html,然后将2个参数从控制器传递给视图,如上面的答案所述。在我的情况下,由于我正在构建一个JSON api并且没有视图,视图模型只是将json编码并作为输出发送,我必须设置Response.ContentType =“application / json”;