2

我有一个有 5 个参数的 javascript 函数。我需要传递大量文本(它是从后面的 C#.net 代码到 js 函数的堆栈跟踪

代码 :

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: 找不到指定 url 的操作配置。\n\tat org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelectAction.java:68)\n \t

调用代码:

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

我也无法用 C#.net 中的 html 等效项替换 \n。它只是返回 -1 来表示它的出现

请帮忙

4

2 回答 2

0

尝试STACK_TRACE = STACK_TRACE.Replace(Environment.NewLine, "<br>");

于 2013-03-20T18:13:45.837 回答
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.**

您可以编写一系列替换。

If you want to replace in javascript then use RegExp. See this article

于 2013-03-20T18:55:39.390 回答