将Kendo Editor中的下拉列表选择导出到Word文档

时间:2017-02-16 19:08:03

标签: kendo-ui export kendo-asp.net-mvc docx kendo-editor

我一直试图让选定的下拉选项在导出时出现在Word文档中。 当前的默认行为是所有选项标签都出现在导出的文档中,没有指示选择了哪个。 (这是有道理的,因为导出函数只是将所有html导出为纯文本,所以会发生这种行为。)

到目前为止,这些是我尝试过的方法(没有一种方法可行): - 通过javascript执行事件将导出事件发送到控制器之前捕获导出事件(从而能够删除任何不需要的文本)。问题是execute事件和exportas事件是异步的,所以我不能在执行导出事件调用之前修改文件。

- 修改控制器端的文本,然后将其转换为Word文档并下载(文本通过没有特殊字符发送,这几乎无法解析)

- 尝试使用kendo自动完成小部件替换下拉列表(这也是一种可接受的解决方案)。窗口小部件无法在文档中正确呈现。所有的数据源选项都存在,甚至是过滤器,但它没有正确设置或打开。

是否有其他人能够找到解决此问题的方法,或者有其他方法可以使用?

编辑: 根据要求,这是基本代码的屏幕截图: c sharp code razor

1 个答案:

答案 0 :(得分:0)

我最初的想法是如何实现这一目标: 1.从编辑器中取出选择列表。 2.将事件处理程序绑定到列表的change事件,以将列表的值添加到编辑器中。你在项目中使用JQuery吗?它是剑道的依赖,所以这应该有效:

$("#selectListId").on("change", function () { 
     $("#editor").val( $("#selectListId").val());
});

实际上,虽然我猜测这种方法会用来填充一些用户选择的值的文本模板吗?在这种情况下,您可能希望在应用所选值之前先保存模板。

现在您已经确定需要在导出的Word文档中使用该下拉菜单,请尝试以下操作:

  1. 创建一个新的word文档。
  2. 在该word文档中,打开“开发人员”选项卡。 (如果你不了解它,请谷歌如何启用它)
  3. 使用“开发者”标签插入新的“下拉菜单内容控件”。
  4. 选择此内容控件,然后在“开发人员”选项卡上打开“属性”菜单项。
  5. 使用您的值更新内容控件: ExampleOfContentControl
  6. 保存此word文档。
  7. 使用Kendo Editor Import导入包含模板的文档。
  8. 尝试导出刚导入的内容。
  9. 如果有效并且编辑器具有来自该内容控件的可编辑下拉列表,我会非常惊讶...祝你好运!