gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 21:55:33 24 4
gpt4 key购买 nike

我有一些包含 \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 时,它用实际的 breakrows/linebreaks 替换了\n(就像 kinda 应该的那样)但是在我的例子中,它破坏了 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com