codemirror textarea MVC 5中的换行符

时间:2016-06-27 20:03:21

标签: html asp.net-mvc textarea codemirror

我有一个测试用户编码能力的应用程序。我用来捕获代码的textarea是通过codemirror。我有一个CodeTemplate用于存储在我的数据库中的某些问题。存储CodeTemplate的示例是:using System;\n\nnamespace Math\n{\n\tclass Math\n\t{\n\t\tstatic void Main(string[] args)\n\t\t{\n\t\t\t\n\t\t}\n\t}\n}理论上应打印出来:

using System;

namespace Math
{
    class Math
    {
        static void Main(string[] args)
        {

        }
    }
}

这就是它实际打印的内容:

using System;\n\nnamespace Math\n{\n\tclass Math\n\t{\n\t\tstatic void Main(string[] args)\n\t\t{\n\t\t\t\n\t\t}\n\t}\n}

============================

这是我的控制器:

public ActionResult Evaluation()
    {
        EvaluationPackage tester = new EvaluationPackage();
        Console.WriteLine("Testing Receiving Evaluation Package");
        var result = EvaluationPackageService.GetQuestions(11);

        // Put in question titles
        ViewData["question1"] = result[0].Text;
        ViewData["question2"] = result[1].Text;
        ViewData["question3"] = result[2].Text;

        // Put in code wrapper
        ViewData["codeWrap1"] = result[0].TemplateCode;
        ViewData["codeWrap2"] = result[1].TemplateCode;

        return View();
    }

============================

这是我的观点的问题部分:

<div class="question-header">
   <h2 class="problem-title">Question 1 - C# Coding</h2>
      <button type="button" class="problem-status btn btn-outline btn-warning-outline answer-indicator">No answer yet</button>
</div>

<p class="question">@ViewData["question1"]</p>
<div class="question-response">
   <form action="Test/Compile/" method="post">
      <textarea id="cs-code" class="code-area">
@Html.Raw(@ViewData["codeWrap1"]) <!-- HERE IS THE PROBLEM -->
      </textarea>

</div>

============================

我已尝试使用@Html.raw并删除@Html.raw,我尝试将\n替换为<br>,但是没有运气。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

数据库INSERT是:

using System;\n\nnamespace Math\n{\n\tclass Math // ETC

数据库SELECT是:

using System;\\n\\nnamespace Math\\n{\\n\\tclass Math // ETC

它正在逃避斜线而不是n。为了解决这个问题,INSERT成了:

'using System;' + CHAR(13) + CHAR(13) + 'namespace Math' + CHAR(13) + '{' // ETC

CHAR(13)适用于\nCHAR(9)适用于\t