Loading...
Loading...
Implements the Syncfusion ASP.NET Core Rich Text Editor (ejs-richtexteditor tag helper) supporting HTML (WYSIWYG) and Markdown editing modes. Set editorMode='Markdown' for Markdown; default is HTML. Use this skill for toolbar configuration, image upload, table editing, inline or iframe mode, AI assistant integration, mentions, and form validation with rich text in ASP.NET Core projects.
npx skill4agent add syncfusion/aspnetcore-ui-components-skills syncfusion-aspnetcore-rich-text-editor<ejs-richtexteditor>editorMode="Markdown"User wants to edit formatted content → output is HTML?
└─ Use default HTML mode (no editorMode needed)
User wants to write/edit Markdown text?
└─ Set editorMode="Markdown"
└─ Add Marked.js for live preview (see references/markdown-features.md)editorMode="Markdown"ViewBageditorModeiframeSettingsinlineModeenableResizeenableFloatingfloatingToolbarOffsetAiAssistantPromptRequestaddAIPromptResponsegetHtml()getText()getCharCount()saveIntervalshowCharCountmaxLengthenableHtmlEncodeFormValidatorreadonlyenabledenableHtmlSanitizerbeforeSanitizeHtmlenterKeyshiftEnterKeyexecCommandenableToolbarItemdisableToolbarItemlocaleenableRtlCreatedDestroyedFocusBlurChangeActionBeginActionCompleteBeforePasteCleanupAfterPasteCleanupBeforeClipboardWriteBeforeDialogOpenDialogOpenBeforeDialogCloseDialogCloseBeforePopupOpenBeforePopupCloseBeforeQuickToolbarOpenImageSelectedBeforeImageUploadImageUploadingImageUploadSuccessImageUploadFailedImageRemovingAfterImageDeleteBeforeImageDropFileSelectedBeforeFileUploadFileUploadingFileUploadSuccessFileUploadFailedFileRemovingAfterMediaDeleteBeforeMediaDropBeforeSanitizeHtmlDocumentExportingAiAssistantPromptRequestAiAssistantStopRespondingClickAiAssistantToolbarClickValueEditorModePlaceholderCssClassLocaleEnabledReadonlyEnableResizeEnablePersistenceEnableRtlEnableTabKeyEnableHtmlEncodeEnableHtmlSanitizerEnableXhtmlEnableAutoUrlEnableClipboardCleanupShowCharCountMaxLengthSaveIntervalAutoSaveOnIdleEnterKeyShiftEnterKeyFloatingToolbarOffsetUndoRedoStepsUndoRedoTimerToolbarSettingsQuickToolbarSettingsIframeSettingsInlineModeInsertImageSettingsInsertVideoSettingsInsertAudioSettingsPasteCleanupSettingsTableSettingsFontFamilyFontColorBackgroundColorFormatSlashMenuSettingsEmojiPickerSettingsFormatPainterSettingsCodeBlockSettingsAiAssistantSettingsImportWordSettingsExportWordSettingsExportPdfSettingsFileManagerSettingsgetHtml()getText()getContent()getSelectedHtml()getXhtml()getCharCount()selectAll()selectRange()print()executeCommand()CommandNameenableToolbarItem()disableToolbarItem()removeToolbarItem()focusIn()focusOut()showInlineToolbar()hideInlineToolbar()showDialog()closeDialog()clearUndoRedo()showSourceCode()showFullScreen()showEmojiPicker()addAIPromptResponse()executeAIPrompt()getAIPromptHistory()clearAIPromptHistory()showAIAssistantPopup()hideAIAssistantPopup()refresh()refreshUI()dataBind()destroy()sanitizeHtml()<!-- _ViewImports.cshtml -->
@addTagHelper *, Syncfusion.EJ2
<!-- _Layout.cshtml <head> -->
<link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/fluent.css" />
<script src="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/dist/ej2.min.js"></script>
<!-- _Layout.cshtml <body> end -->
<ejs-scripts></ejs-scripts>
<!-- Index.cshtml -->
<ejs-richtexteditor id="editor" value="@ViewBag.value">
<e-richtexteditor-toolbarsettings items="@ViewBag.tools"></e-richtexteditor-toolbarsettings>
</ejs-richtexteditor>// HomeController.cs
public ActionResult Index()
{
ViewBag.value = "<p>Start editing here...</p>";
ViewBag.tools = new[] {
"Bold", "Italic", "Underline", "|",
"Formats", "Alignments", "OrderedList", "UnorderedList", "|",
"CreateLink", "Image", "CreateTable", "|",
"SourceCode", "|", "Undo", "Redo"
};
return View();
}<ejs-richtexteditor id="markdown-editor" editorMode="Markdown" value="@ViewBag.value">
<e-richtexteditor-toolbarsettings items="@ViewBag.tools"></e-richtexteditor-toolbarsettings>
</ejs-richtexteditor>public ActionResult Index()
{
ViewBag.value = "**Hello World** — start writing *markdown* here.";
ViewBag.tools = new[] {
"Bold", "Italic", "StrikeThrough", "InlineCode", "|",
"Formats", "Blockquote", "OrderedList", "UnorderedList", "|",
"CreateLink", "Image", "CreateTable", "|", "Undo", "Redo"
};
return View();
}<form id="form-element">
<ejs-richtexteditor id="rte" name="rteContent" value="@ViewBag.value"></ejs-richtexteditor>
<button type="submit">Submit</button>
</form>
<script>
document.querySelector('form').onsubmit = function () {
var rte = document.getElementById('rte').ej2_instances[0];
console.log(rte.getHtml());
};
</script><ejs-richtexteditor id="editor">
<e-richtexteditor-insertimagesettings
saveUrl="/Home/SaveImage"
removeUrl="/Home/RemoveImage"
path="./Uploads/">
</e-richtexteditor-insertimagesettings>
</ejs-richtexteditor><ejs-richtexteditor id="inline" value="@ViewBag.value">
<e-richtexteditor-inlinemode enable="true" onSelection="true"></e-richtexteditor-inlinemode>
</ejs-richtexteditor><ejs-richtexteditor id="editor" showCharCount="true" maxLength="500" value="@ViewBag.value">
</ejs-richtexteditor>