2

MVVM を使用して構成された Kendo Editor ウィジェットがあり、それに画像ブラウザーを追加しようとしていますが、insertImageツールをクリックすると、画像ギャラリー ブラウザーではなく、既定のダイアログ (URL を要求する) が開きます。

これが私のウィジェット構成です:

<textarea data-role="editor"
          data-tools="['bold', 'italic', 'underline', 'strikethrough',
                       'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',
                       'insertUnorderedList', 'insertOrderedList', 'indent', 'outdent',
                       'createLink', 'unlink', 'insertImage',
                       'subscript', 'superscript',
                       'createTable', 'addRowAbove', 'addRowBelow', 'addColumnLeft', 'addColumnRight', 'deleteRow', 'deleteColumn',
                       'viewHtml', 'print', 'separator',
                       'formatting', 'cleanFormatting',
                       'fontName', 'fontSize', 'foreColor', 'backColor']"
          data-image-browser="{
              messages: {
                  dropFilesHere: 'Drop files here'
              },
              transport: {
                  read: '@Url.Action("Read", "ImageBrowser")',
                  destroy: {
                      url: '@Url.Action("Destroy", "ImageBrowser")',
                      type: 'POST'
                  },
                  create: {
                      url: '@Url.Action("Create", "ImageBrowser")',
                      type: 'POST'
                  },
                  thumbnailUrl: '@Url.Action("Thumbnail", "ImageBrowser")',
                  uploadUrl: '@Url.Action("Upload", "ImageBrowser")',
                  imageUrl: '@Url.Action("Image", "ImageBrowser")?path={0}'
              }
          }"
          data-bind="value: currentContent, events: { change: contentChange, paste: contentPaste }"
          style="height: 450px">
</textarea>

この構成がサポートされているかどうか (MVVM)、または何が欠けているかを知っている人はいますか? コンソールに記録された JS エラーはなく、生成された HTML を見ると、Url.Actionヘルパーからのすべてのパスは正しいです。

4

1 に答える 1

0

'/[controller]/[Action]'呼び出しによって出力されたスタイル URLをトランスポートに認識させるには、イメージ ブラウザ トランスポートとファイル ブラウザ トランスポート@Url.Action("ReadFiles", "FileBrowser")に追加する必要があります。type: 'imagebrowser-aspnetmvc'type: 'filebrowser-aspnetmvc'

このtype属性は文書化されていません。おそらく、@Url.ActionMVVM での呼び出しの使用が実際にはサポートされていないためです。しかし、MVC ヘルパー関数を使用してエディターを作成すると、kendo によって出力された html に追加されていることがわかります。

以下は、イメージとファイル ブラウザーの例を含む、動作中の MVVM エディターです。

<textarea id="DetailsOfChange"
      name="DetailsOfChange"
      data-role="editor"
      data-encoded="false"
      data-tools="['bold', 'bold', 'italic', 'underline', 'strikethrough', 'justifyLeft', 'justifyCenter',  'justifyRight', 'justifyFull', 'insertUnorderedList', 'insertOrderedList', 'indent', 'outdent', 'createLink', 'unlink', 'insertImage', 'insertFile', 'createTable', 'addRowAbove', 'addRowBelow', 'addColumnLeft', 'addColumnRight', 'deleteRow', 'deleteColumn', 'formatting', 'cleanFormatting', 'foreColor', 'backColor']"
      data-image-browser="{
                transport: {
                    read: '@Url.Action("Read", "ImageBrowser")',
                    type: 'imagebrowser-aspnetmvc',
                    destroy: {
                        url: '@Url.Action("Destroy", "ImageBrowser")',
                        type: 'POST'
                    },
                    create: {
                        url: '@Url.Action("Create", "ImageBrowser")',
                        type: 'POST'
                    },
                    thumbnailUrl: '@Url.Action("Thumbnail", "ImageBrowser")',
                    uploadUrl: '@Url.Action("Upload", "ImageBrowser")',
                    imageUrl: '@Url.Action("Image", "ImageBrowser")?path={0}'
                }
            }"
      data-file-browser="{
                transport: {
                    read: '@Url.Action("Read", "FileBrowser")',
                    type: 'filebrowser-aspnetmvc',
                    destroy: {
                        url: '@Url.Action("Destroy", "FileBrowser")',
                        type: 'POST'
                    },
                    create: {
                        url: '@Url.Action("Create", "FileBrowser")',
                        type: 'POST'
                    },
                    uploadUrl: '@Url.Action("Upload", "FileBrowser")',
                    fileUrl: '@Url.Action("File", "FileBrowser")?path={0}'
                }
            }"
      data-bind="value:DetailsOfChange"></textarea>
于 2016-04-20T01:59:06.317 に答える