如何在DevExpress MVC 21.2 RichEdit中限制另存为仅显示指定格式?
解决DevExpress MVC RichEdit限制“另存为”格式为docx和html的方法
实现思路
要限制RichEdit“另存为”对话框仅显示.docx和.html格式,只需配置SaveFileDialog的文件过滤规则,在DevExpress MVC 21.2版本中,可通过SettingsDialogs.SaveFileDialog的相关属性实现。
修改后的完整代码
@Html.DevExpress().RichEdit(settings => { settings.Name = "RichEdit"; settings.Height = 1000; settings.CallbackRouteValues = new { Controller = "Home", Action = "RichEditPartial" }; settings.WorkDirectory = Server.MapPath("~/App_Data/Documents"); //settings.RibbonMode = DevExpress.Web.ASPxRichEdit.RichEditRibbonMode.Ribbon; settings.Init += (s, e) => { MVCxRichEdit re = s as MVCxRichEdit; // 设置仅显示下载区域 re.SettingsDialogs.SaveFileDialog.DisplaySectionMode = DevExpress.Web.ASPxRichEdit.SaveFileDialogDisplaySectionMode.ShowDownloadSection; // 配置另存为对话框的格式过滤,仅保留docx和html re.SettingsDialogs.SaveFileDialog.Filter = "Word 文档 (*.docx)|*.docx|HTML 文档 (*.html)|*.html"; // 也可直接指定允许的扩展名(二选一即可) // re.SettingsDialogs.SaveFileDialog.AllowedFileExtensions = new string[] { ".docx", ".html" }; }; settings.PreRender = (s, e) => { MVCxRichEdit richEdit = (MVCxRichEdit)s; richEdit.Settings.Behavior.CreateNew = DevExpress.XtraRichEdit.DocumentCapability.Disabled; richEdit.Settings.Behavior.Open = DevExpress.XtraRichEdit.DocumentCapability.Disabled; richEdit.Settings.Behavior.Save = DevExpress.XtraRichEdit.DocumentCapability.Disabled; }; }).GetHtml()
关键说明
- Filter属性:采用类似常规文件对话框的过滤字符串格式,格式为
[格式显示名称]|[扩展名],多个格式用竖线|分隔,可自定义用户看到的格式名称,更直观。 - AllowedFileExtensions属性:直接指定允许的文件扩展名数组,对话框会自动匹配对应格式显示,适合不需要自定义名称的场景。
- 两种配置方式选其一即可,无需重复设置。
内容的提问来源于stack exchange,提问作者Robe79
相关产品推荐
相关产品推荐

