2013-04-30 61 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