【问题标题】:Image upload on CKEditor & ASP.NET 4, response to upload iframe error在 CKEditor 和 ASP.NET 4 上上传图片,响应上传 iframe 错误
【发布时间】:2012-10-04 00:11:36
【问题描述】:

我正在使用带有上传图片选项的 CKEditor 所见即所得编辑器。我通过设置“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() 的正常行为,但它可能在其他地方被编码。

知道为什么这个字符串会被编码吗?感谢您提供任何帮助。

谢谢。 伊恩

【问题讨论】:

    标签: c# javascript ckeditor htmlspecialchars


    【解决方案1】:

    我认为最好简单地制作 CKEditorFuncNumrelativePath 受保护的成员变量并在客户端这样写:

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

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      最好将 html 放在某种类型的视图中,然后将 2 个参数从控制器传递给视图,就像上面的答案描述的那样。就我而言,由于我正在构建一个 JSON api 并且没有视图,因此视图模型只是将 json 编码并作为输出发送,我必须设置 Response.ContentType = "application/json";

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 2019-07-16
        • 2020-06-07
        • 2013-06-05
        • 2011-01-08
        • 1970-01-01
        • 2011-07-21
        相关资源
        最近更新 更多