=x= 🌵 WYSIWYG HTML Editor 所見即所得文字網頁文字編輯器使用方式。
📌 WYSIWYG 為 "What You See Is What You Get" 的縮寫,而網頁用的文字編輯器,常見於論壇或留言板帶有各式功能的輸入框,功能為將使用者在上面進行的各類編輯樣式等全部內容,使用 HTML 語法輸出,這樣使用者所編輯的內容,與存下來的資料,可以直接送至網頁呈現。
👀 WYSIWYG Editor 參考網站 : CKEditor Demo
🧠 實作內容為將 CKEditor3 HTML 資料存在資料庫,CKFinder2 內嵌於 CKEditor3 且圖檔存放在專案資料夾的作法,實作內容包含 : 安裝、使用、自訂控制項工具。
CkeditorForASP.NET (3.6.4)
並安裝附帶更新後重開檔案確認 CKEditor
控制項已出現在工具箱 (在 .asp 頁切換到設計模式後查看工具箱)👀 參考影片 : CKEditor and CKFinder Integration with asp.net webform
👀 官網舊版本下載處 : https://ckeditor.com/ckfinder/changelog/
CKEditor.NET.dll
已經用 Nuget 安裝了),瀏覽選擇 ckfinder\bin\Release\CKFinder.dll
加入 CKFinder.dll
檔config.ascx
,將CheckAuthentication()
功能改為return true;
config.ascx
將 SetConfig()
的 BaseUrl
改成上傳檔案的資料夾位置Status Code: 301
protected void Application_Start(object sender, EventArgs e)
{
// 設定不顯示副檔名 (如果只想隱藏副檔名做到此區塊就好)
var routes = RouteTable.Routes;
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
//routes.EnableFriendlyUrls(settings);
//修改避免 CKFinder 上傳功能錯誤
routes.EnableFriendlyUrls(settings, new Microsoft.AspNet.FriendlyUrls.Resolvers.IFriendlyUrlResolver[] { new MyWebFormsFriendlyUrlResolver() });
// 執行短網址路由方法
RegisterRouters(RouteTable.Routes);
}
public class MyWebFormsFriendlyUrlResolver : Microsoft.AspNet.FriendlyUrls.Resolvers.WebFormsFriendlyUrlResolver
{
public override string ConvertToFriendlyUrl(string path)
{
//字串為 ckfinder 固定內容
if (!string.IsNullOrEmpty(path) && path.ToLower().Contains("/ckfinder/core/connector/aspx/connector.aspx")) {
return path;
}
return base.ConvertToFriendlyUrl(path);
}
}
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
BasePath="/Scripts/ckeditor/"
<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server" BasePath="/Scripts/ckeditor/"></CKEditor:CKEditorControl>
FileBrowser fileBrowser = new FileBrowser();
fileBrowser.BasePath = "/ckfinder";
fileBrowser.SetupCKEditor(CKEditorControl1);
Literal.Text = HttpUtility.HtmlEncode(CKEditorControl1.Text);
<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server" BasePath="/Scripts/ckeditor/"
Toolbar="Bold|Italic|Underline|Strike|Subscript|Superscript|-|RemoveFormat
NumberedList|BulletedList|-|Outdent|Indent|-|JustifyLeft|JustifyCenter|JustifyRight|JustifyBlock|-|BidiLtr|BidiRtl
/
Styles|Format|Font|FontSize
TextColor|BGColor
Link|Image" >
</CKEditor:CKEditorControl>
config.removeDialogTabs = 'image:Upload;image:advanced;image:Link';
config.removePlugins = 'elementspath';
📢 初次使用 WYSIWYG Editor 時,一直會被文字編輯器官網美觀的輸入框吸引,多次嘗試尋找安裝方式後會發現,最新版本偏向供前端使用,並且需要搭配官網提供雲端儲存收費服務,才能儲存圖片,這也是網路發展趨勢,提供免費服務,但附加功能使用雲端然後收費,因此最後才會選擇安裝較舊的版本,但不影響使用,不過當初真的花了相當多時間在找不用儲存在雲端的作法,另外版本間的搭配也是個坑,強烈建議使用文章相同搭配的版本進行安裝。