2017-10-24 16 views
0

最後の数日間の研究はまだ行われていません。私はモナコエディタに入力されたテキストを保存するバックエンドデータベースを持っています。ただし、文字列に新しい改行(\ r \ n)がある場合、テキストは表示されず/ロードされません。唯一の私は表示するテキストを取得することができますラインのリターンを削除することです。Monaco-Editorデータベースからの単一文字列

ここにはクライアント側のコードがあります。

<div id="container" style="width:590px;height:400px;border:1px solid grey;white-space:pre-wrap;"></div> 
//saving to hidden value 
<input type="hidden" runat="server" id="editorValue" /> 

    require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' } }); 

require(["vs/editor/editor.main"], function() { 
    var editor = monaco.editor.create(document.getElementById('container'), { 
     value: ['<%=MyJSText%>'].join('\n'), 
     language: 'javascript'   
    }); 

jQuery(document).ready(function ($) {   
     jQuery("#<%=linkOK.ClientID%>").on('click', function() { 
     getVal = editor.getValue(); 
     document.getElementById("<%=editorValue.ClientID%>").value = getVal; 
     }); 
    }); 

一部のサーバー側のコード

protected string MyJSText 
    { 
     get 
     { 
      if (EnableIDEditor) 
      { 

       return Server.HtmlDecode(TemplateRevision.JsScripts.Replace(Environment.NewLine, " ")); 

      } 
      else 
      { 
       return Server.HtmlDecode(TemplateRevision.JsScripts); 
      }      

     } 
    } 

私は、テキストが改行で表示するには、モナコ・エディタボックスに入力したいと思います。どんな助けでも大歓迎です。

答えて

0

最後に、サーバー側で次のコードを追加して問題を解決しました。

protected string MyJSText 
    { 
     get 
     { 
      if (EnableIDEditor) 
      {      
       return Server.HtmlDecode(TemplateRevision?.JsScripts?.Replace(System.Environment.NewLine, "\\\r\\n"));      
      } 
      else 
      { 
       return Server.HtmlDecode(TemplateRevision.JsScripts); 
      }      

     } 
    } 

トリック).Replace(System.Environment.NewLine、 "\\ Rを\ n")を使用することであり、改行を適切に示しました。これは、モナコエディタにテキストを動的に挿入しようとしている人に役立ちます。

関連する問題