gpt4 book ai didi

c# - 如何从 C# with\r 获取 String 到 JavaScript 变量?

转载 作者:行者123 更新时间:2023-11-28 01:29:38 25 4
gpt4 key购买 nike

我在VS2010中用aspx和C#编写程序。我想提醒循环中的所有 SoftWareNotes。 (这是我的数据库中的 varchar 值)。所以我这样做了:

<% for(Software s in Db.Softwares){ %>
<script>
var GetTextArea= '<%=s.SoftwareNotes%>' ;
alert(GetTextArea);
</script>
<%}%>

它工作正常,直到 SoftwareNotes 包含/r 。例如在这个字符串中:“fdbdfb\r\ndfbdf\r\ndfb”(来自调试器),它不会打印任何内容,并继续下一个。

为什么以及如何解决这个问题?

*SoftwareNotes 字段包含/r,因为它是由 TextAreas 填充的。因此,如果有人输入它,则将其保存为/r。

<小时/>

编辑2:20:我找到了一种解决方案,但这不是最好的..我在之前的代码上面写了这段代码:

 <%
String tryRemoveNL="";
if(s.SoftwareNotes!=null)
tryRemoveNL= Regex.Replace(s.SoftwareNotes, @"\r\n?|\n", " ");
%>

现在当我写的时候:

var GetTextArea= '<%=tryRemoveNL%>' ;

它有效。但我想保留 newLines..也许你还有其他解决方案?

最佳答案

可以使用以下方法来做到这一点:

var GetTextArea= '<%=s.SoftwareNotes.Replace(Environment.NewLine, "\\r\\n"))%>' ;
alert(GetTextArea);

这会在警报消息中保留换行符。

问题是因为文字换行符进入了 JavaScript,创建了无效语法,类似于:

var GetTextArea = 'fdbdfb
dfbdf
dfb'; //Invalid syntax for multiline javascript string

因此,该解决方案将写出:

var GetTextArea = 'fdbdfb\r\ndfbdf\r\ndfb'

关于c# - 如何从 C# with\r 获取 String 到 JavaScript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22289937/

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