2012-03-15 54 views
0

我正在使用帶有上傳圖片選項的CKEditor wysiwyg編輯器。我已經通過設置'filebrowserUploadUrl'設置屬性來設置JS。我寫了一些代碼來處理上傳,這一切都很好。當我嘗試將響應發送回CKEditor上傳iframe時,問題就出現了。我只是想以一個JS腳本標籤發回這條線的JS:CKEditor&ASP.NET 4上的圖片上傳,上傳iframe錯誤的響應

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()的正常行爲,但也許它在別處編碼。

任何線索爲什麼這個字符串被編碼?這裏的任何幫助表示讚賞。

謝謝。 伊恩

回答

1

我認爲這將是更好的只是讓CKEditorFuncNumrelativePath protected成員變量,並把它寫這樣的客戶端:

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

希望它能幫助!

0

在某種類型的視圖中使用html會更好,然後將2個參數從控制器傳遞到視圖,就像上面的答案描述的那樣。在我的情況下,因爲我正在構建一個JSON api並且沒有視圖,所以視圖模型只是得到json編碼並作爲輸出發送,我必須設置Response.ContentType =「application/json」;