2017-10-24 3 views
0

지난 며칠 동안 연구했지만 아직 결과가 없습니다. 모나코 편집기에 입력 된 텍스트를 저장하는 백 엔드 데이터베이스가 있습니다. 그러나 문자열에 새로운 줄 반환 (\ r \ n)이 있으면 텍스트가 표시되거나로드되지 않습니다. 표시 할 텍스트를 얻을 수있는 유일한 방법은 줄 바꿈을 제거하는 것입니다.모나코 편집기 데이터베이스에서 단일 문자열

다음은 일부 클라이언트 측 코드입니다.

<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; 
     }); 
    }); 

I 텍스트를 줄 바꿈으로 표시 모나코 편집기 상자에 입력하고 싶습니다

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를, "\\ 연구 \ n을"))와 줄 바꿈 적절하게 보여 주었다. 모나코 편집기에 텍스트를 동적으로 삽입하려는 사용자에게 도움이되기를 바랍니다.

관련 문제