2013-03-20 55 views
2

含有\ n和\噸長文本一個JavaScript參數I有一個具有5個參數JavaScript函數。我需要通過大量的文本(這是從C#.NET代碼堆棧跟蹤背後的js函數如何通過用從C#的.NET

代碼:

function createDIV(CLASS_NAME, METHOD_NAME, APPLICATION_NAME, EXCEPTION_MESSAGE, STACK_TRACE_TEXT, EXCEPTION_OCCURANCE_STATUS) { 
    \\processing the code 
} 

當我打電話這種功能,它適用於所有其他值,但如果文本包含\ n它失敗

示例文本: org.apache.struts.chain.commands.InvalidPathException:找不到指定網址的操作配置。\ n \ tat org.apache.struts.chain.commands .AbstractSelectAction.execute(AbstractSelectAction.java:68)\ n \ TAT

調用代碼:

ClientScript.RegisterStartupScript(
    GetType(), 
    "sss", 
    "createDIV(
     '" + CLASS_NAME.ToString() + "','" + METHOD_NAME.ToString() + "','" + 
      APPLICATION_NAME.ToString() + "','" + EXCEPTION_MESSAGE.ToString() + "','" + 
      STACK_TRACE.ToString() + "');", 
true); 

我也無法與它的HTML等同於C#.net替換\ n。它只是返回-1其次數

請幫

+0

張貼調用代碼。 – djs 2013-03-20 17:54:49

+0

ClientScript.RegisterStartupScript(GetType(),「sss」,「createDIV('」+ CLASS_NAME.ToString()+「','」+ METHOD_NAME.ToString()+「','」+ APPLICATION_NAME.ToString )+ 「 ''」 + EXCEPTION_MESSAGE.ToString()+ 「 ''」 + STACK_TRACE.ToString()+ 「');」,真); – gaby7457 2013-03-20 17:58:20

+0

@ user2133810:我在你的評論中添加了你發佈的代碼。如果我犯了一個錯誤,你可以自由編輯。 – 2013-03-20 18:07:28

回答

0

在你的C#代碼,例如:

string str = "TEXT TEXT TEXT\n, TEXT TEXT\t TEXT. TEXT TEXT\n\t TEXT TEXT."; 
str = str.Replace("\n", "<br/>").Replace("\t", "<br/></br>"); 

結果:

**TEXT TEXT TEXT<br/>, TEXT TEXT<br/></br> TEXT. TEXT TEXT<br/><br/></br>TEXT TEXT.** 

你可以寫一系列替換。

如果你想在javascript來代替,然後使用正則表達式。看到這個article

+0

謝謝,我認爲@引號之前提出的替換問題 – gaby7457 2013-03-20 20:34:29

0

嘗試STACK_TRACE = STACK_TRACE.Replace(Environment.NewLine, "<br>");

+0

我看到這在stackoverflow中,並嘗試過它, STACK_TRACE = STACK_TRACE.Replace(Environment.NewLine,「
」); 不會替換 – gaby7457 2013-03-20 18:30:30

+0

查詢DB2中的STACK_TRACE文本。它實際上有多行文本。當使用DB可視化工具等代理查詢時,它會顯示多行文本。但是,通過.net完成後,它會在每行添加「\ n \ t」。我也無法programmaticaly刪除, – gaby7457 2013-03-20 19:12:43