【问题标题】:Asp.net, Syntax highlight code from file with google prettifyAsp.net,来自文件的语法高亮代码与谷歌美化
【发布时间】:2013-06-20 17:08:38
【问题描述】:

在我的页面中,我将从链接参数中获取 ID,使用该 ID,我将在数据库中搜索文件路径,在读取文件并存储其内容后,我想将其内容放入我的 <pre> 标签中。 . 所以我会有一个文字,其中的文字是:

Code.Text = "<pre>" + File Contents in string + "</pre>";

我的问题是,如果我需要将文件逐行读取到字符串数组中,我将如何在其中插入内容,除非我将其全部读入一个字符串,BUT 这将使文本看起来像页面中的一大行。

另外,它是否会与literal 语法(?)定义冲突,因为对于引号我们必须使用\" 而不是" ...?

【问题讨论】:

  • 你试过什么?我们可以看看你的代码吗?并且 \" 不是“文字语法”,它用于转义常量中的字符,而不是变量值中的字符。含义:var s = "\""; MessageBox.Show(s); 将显示一个带有双引号 " 的消息框
  • @wgraham 我知道这不是文字语法,无论如何感谢您纠正我,不会很快弄清楚这个词:b ...

标签: c# asp.net google-code-prettify asp-literal


【解决方案1】:

如果您使用文字控制,则使用 StringBiulderAppend 属性,因为它允许您将任何 HTML 代码放在代码后面。 比如:

    //Declare your String Builder
    private StringBuilder stb = new StringBuilder();

当你读取文件时你也可以有任何进程,并用任何字符分割它,如 \n

        string readFile = //Any Method that you read you file string.
        string[] tokens = readFile.Split('\n');
        stb.Append("<pre>");

        foreach (string s in tokens)
        {
            stb.Append( s + "<\br>");
        }
        stb.Append("</pre>");

最后你将 Stringbuilder 值附加到你的 Literal

YourLiteral.Text = stb.ToString();

我希望对您有所帮助,而且您不会在一行中有任何价值。请记住,carring return 需要在拆分作品的字符串文件中。

干杯

【讨论】:

  • 谢谢,它工作了 5 星,毕竟 &lt;\br&gt; 是不需要的:b 与字符串生成器一起工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
相关资源
最近更新 更多