背景:在ewebeditor中插入了一張從word中粘貼過來的表格(未去除word格式),140行*4列,結果伺服器死活無法擷取整張表內容,只能擷取到表最後幾行內容;同時,ewebeidtor所在的表單中的其他控制項值也無法擷取。於是在ewebeidtor中查看該表的原始碼,再將原始碼儲存到txt中,一看大小,700K!於是明白了問題所在:肯定是伺服器IIS未配置,未使其支援200K以上的位元組上傳。於是將伺服器上C:\windows\system32\inetsrv\metabase.xml中的ASPMaxRequestEntityAllowed="204800"修改為ASPMaxRequestEntityAllowed="20480000",即讓其支援2M的內容上傳,修改完成後,問題順利解決!
同時,ewebeditor內部有個文本拆分函數,該函數在\ewebeditor\Include\Editor.js檔案中的第995行,當編輯器中的常值內容大於50000個漢字時,會拆分內容,將其分別儲存到好幾個textarea中,這些textarea的name屬性值保持與該編輯器所關聯的那個隱藏欄位或者textarea的name屬性值相等,因此,在伺服器擷取編輯器中的常值內容時,需要將表單中的每個隱藏的textarea中的內容進行拼接,範例程式碼如下:
dim content
for i=1 to request.form("Content").count '假設textarea的name="Content"
content=content & request.form("Content")(i)
next
content=ubbcode(content)
不過,當上傳的常值內容很多時,如果要重新編輯這些內容,編輯完成之後重新上傳,則會出現莫名的錯誤,此時可以直接刪除資料庫裡的文章,然後重新上傳一篇即可。
當向ewebeditor中插入word表格時,應該在word中將表格寬度設為百分比,同時也按照百分比調整各列寬度,這樣上傳後,html顯示時便不會出現很多格式上的問題。