2013-04-30 87 views
1

我有一个.net应用程序,其中我的页面之一,在初始页面加载期间,我设置了一个asp标签控件的文本。在我的aspx页面中,我有一个javascript函数来读取标签文本并显示确认弹出消息。问题是,“\ n”在标签文本中没有在JS确认消息中引入换行符。在javascript确认消息中的新行

我的代码Behind-

lblMsg.Text = “字符串1” + “\ n” + “字符串2”

.aspx的页面 -

function PendingDeleteValidate() { 
     var x = document.getElementById("<%=lblMsg.ClientID%>"); 

     if (confirm(x.innerHTML)) 
      return true; 
     else 
      return false; 
    } 

的JS确认对话框消息显示 - 字符串1 \ nstring 2.我需要在两个字符串之间显示换行符。

+1

你试过\ r \ n? – Renan 2013-04-30 19:20:46

+0

\ r \ n没有工作。 – 2013-04-30 19:27:28

+0

确认对话框是否必须从标签中获取文本?问题是你使用'innerHTML','window.confirm'不知道如何处理HTML。它将'\ n'作为其他任何字符的两个字符读取。 – 2013-04-30 19:32:40

回答

1

这样设置在后面的代码:

lblMsg.Text = "string1" + "<br/>" + "string2" 

if (confirm(x.innerHTML)) 

这个

if (confirm(x.innerText)) 
+0

它没有工作。确认信息显示为string1
string2 – 2013-04-30 19:34:04

+0

是。刚刚尝试innerText,它的工作。谢谢!。另外,感谢Mike解释了为什么innerHTML不起作用。 – 2013-04-30 19:39:37

+0

应使用'textContent':https://developer.mozilla.org/en-US/docs/DOM/Node.textContent – Ian 2013-04-30 19:41:08

0

为什么不试试这个我总是用它

\\ñ 也将是明智的,替换为“”


这样\ r,有乐趣

,如果你只显示与JavaScript警告那么这里是我的功能:

StringBuilder sb = new StringBuilder(); 
sb.Append("alert('"); 
sb.Append(msg.Replace("\n", "\\n").Replace("\r", "").Replace("'", "\\'")); 
sb.Append("');"); 
return sb.ToString(); 

看看它是否您的需求。 Regards

2

尝试标题文本后"\r\n \r\n"

function myFunction() { 
    confirm("Tittle of DialogBox \r\n \r\nMessage of dialogbox. bla..bla.. bla... bla... bla.."); 
} 

Fiddle Demo