C# 将多行文本框中的换行符替换为<;br/>;

C# 将多行文本框中的换行符替换为<;br/>;,c#,asp.net,C#,Asp.net,我正在尝试使用多行文本框将文本插入显示为html的表中。我想用javascript获取文本框内的文本,找到用户按enter键的位置,并将“”放在该位置,这样当文本显示时,它将显示换行符。有什么办法可以帮你吗 我试过这样的方法,但没用 var text = document.getElementById("announcementid").value; var newtext = text.replace("\n", "<br/>");

我正在尝试使用多行文本框将文本插入显示为html的表中。我想用javascript获取文本框内的文本,找到用户按enter键的位置,并将“

”放在该位置,这样当文本显示时,它将显示换行符。有什么办法可以帮你吗

我试过这样的方法,但没用

var text = document.getElementById("announcementid").value;


            var newtext = text.replace("\n", "<br/>");

            text = newtext;
var text=document.getElementById(“announcementid”).value;
var newtext=text.replace(“\n”和“
”); 文本=新文本;
文本是原语,因此它不会替换值。使用正则表达式全局替换,而不是仅替换第一个实例:

var text = document.getElementById("announcementid").value;
var newtext = text.replace(/\n/g, "<br />");
document.getElementById("announcementid").value = newtext;
var text=document.getElementById(“announcementid”).value;
var newtext=text.replace(/\n/g,“
”); document.getElementById(“announcementid”).value=newtext;
变量
newtext
最终是
announcementid
元素中原始字符串的副本。因此,您需要在原始文档元素上重新设置
属性:

  var text = document.getElementById("announcementid").value;
  var newtext = text.replace(/\n/g, "<br />");
  document.getElementById("announcementid").value = newtext; 
var text=document.getElementById(“announcementid”).value;
var newtext=text.replace(/\n/g,“
”); document.getElementById(“announcementid”).value=newtext;
此外,正如Konstantin所指出的,Javascript中的
replace()
函数将只替换第一个实例,除非传入全局正则表达式


请注意,这种处理应该在服务器端完成,而不是使用javascript在客户端完成。(假设它以某种方式存储在服务器上)。@Brad这句话不一定正确。有几个原因可以解释为什么这种处理应该在客户端完成…@bradcristie不需要,因为新行被简单地当作另一个角色来处理。这在所有浏览器下都适用。