kendo mvvm将文本与换行符绑定到textarea

时间:2016-01-18 18:57:00

标签: javascript asp.net-mvc mvvm kendo-ui

我正在使用Kendo UI MVVM并尝试将一些文本与来自服务器的新行(\n,而不是<br/>)绑定到textarea(但具体控件不是这里的重点),但它不起作用。

HTML

<div id="model">

<textarea data-ng-bind="value:myText"></textarea>

</div>
<script>

$(function () {

    var model = kendo.observable({
        myText: '@ViewData.Eval("textWithNewLines")'
    });

    kendo.bind($("#model"),model);
});
</script>

服务器端代码

 // GET: G4B/Home
    public ActionResult Index()
    {

        return View("index", new { textWithNewLines = "text\nWith\nNew\nLines" });
    }

这里发生的事情非常明显:@ ViewData.textWithNewLines在newLine页面中呈现,javascript被破坏。 here

但是我应该怎么做?

1 个答案:

答案 0 :(得分:0)

解决。 从将服务器编码“\ n”的数据转换为newLine,问题就出现了。

解决方案是将我的文字包裹起来:

<script>

$(function () {

    var oUtils = new G4BUtils();

    var model = new kendo.observable({
        myText: @Html.Raw(Json.Encode(ViewData.Eval("textWithNewLines")))
    });

    kendo.bind($("#model"), model);

});
</script>