javascript - 如何停止 Razors 自动编码\n?

标签 javascript c# asp.net-mvc razor

我有一些包含 \n 的字符串,例如:

ViewBag.stringTest = "Hello\nWorld!\nBreakrow";

我想在我的 View 中使用它,并且在我的 javascript 中更具体

$(document).ready(function () {
   var howItShouldBe = "Hello\nWorld!\nBreakrow";

   var stringTest1 = "@ViewBag.stringTest";
   var stringTest2 = "@Html.Encode(ViewBag.stringTest)";
   var stringTest3 = "@(new HtmlString(ViewBag.stringTest))";
   var stringTest4 = "@Html.Raw(ViewBag.stringTest)";
   var stringTest5 = "@MvcHtmlString.Create(ViewBag.stringTest)";
   var stringTest6 = "@ViewBag.stringTest.ToString()";
});

但是,当使用@ razor时,它会用实际的断行/换行符替换\n(就像有点应该的那样)但在我的情况下,它破坏了javascript,我希望它实际显示\n进行换行。

有什么办法可以防止这种情况发生吗?通常 @Html.Raw 足以满足大多数内容,但不适用于此。

最佳答案

这应该可以解决问题:

"@Html.Raw(HttpUtility.JavaScriptStringEncode(s.Name))"

它使用 HttpUtility.JavaScriptStringEncode ,它应该将 CR 转换为 \r,将 LF 转换为 \nTAB\t

关于javascript - 如何停止 Razors 自动编码\n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603597/

相关文章:

c# - 插入 SQL Server CE 数据库文件并返回插入的 id

c# - 通过依赖注入(inject)执行我的类函数

javascript - 关于使用 jquery 将图像源更改为另一个图像的源

javascript - 如何在运行时更改标签值?

javascript - InnerHtml AJAX : Javascript not working

javascript - 简单弹出模态onclick显示youtube视频简单DOM

c# - 从 DataTable 创建 XML

c# - 如何测量和监控单个组件的 Autofac 解析时间

asp.net-mvc - 从另一个区域内的 Action 渲染局部 View

c# - 无法转换类型 'System.Nullable` 1' to type ' System.Object' - ASP.NET MVC