很久沒有寫程序了。最近公司要求我更新一下公司網站,就網上下載asp源碼FTP上傳空間,竟然服務器裏的數據庫文件是隻讀的,沒有寫入權限。那更新網站只能通過FTP上傳靜態頁面文件了。麻煩~~~。
靜態頁面的創建,先在本地生成再上傳了。就編寫一個winform程序來製作網頁,得解決winform下富文本HTML編輯問題。
我的解決方案是使用webBrowser控件。引入一個KingEditor編輯器頁面來解決。
初始化頁面編輯器全屏。
頁面添加如下代碼:
<script>
function getHtml() {
document.getElementById("tcontent").innerHTML = editor.html();
}
function setHtml(str) {
editor.html(str);
}
</script>
winform中獲取html編輯器代碼:
//這兩行代碼,獲得編輯的HTML代碼。詳情看KEditor\KEditorWinForm.htm
webBrowser1.Document.InvokeScript("getHtml");
content = webBrowser1.Document.GetElementById("tcontent").InnerHtml;
winform中初始設置html編輯器內容:
private bool isDocumentFirstCompleted = true;
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//避免,KingEditor某些插件動態創建iframe會觸發此事件,導致編輯會恢復初始值
if (isDocumentFirstCompleted && (sender as WebBrowser).Document.Title == "editor")
{
isDocumentFirstCompleted = false;
//在此設置KingEditor內容
Object[] obArr = new Object[1];
obArr[0] = (Object)webContentHtml;
webBrowser1.Document.InvokeScript("setHtml", obArr);
}
}
其中的變量webContentHtml爲初始html字符串值。
源碼已上傳。