c# - 在文本框中显示不同颜色的字符串(文本)asp.net

标签 c# asp.net

在我的 asp.net 网站上,我有一个提供日志信息的文本框。我正在使用这个日志来显示错误、成功和其他信息。我想做的是根据日志类型在文本框中以颜色显示结果文本。例如;我想将错误显示为红色文本,将成功显示为绿色等等。

我尝试了以下代码,但使用此代码会更改文本框整个内容的颜色。

    /// <summary>
    /// colorIndex (0 = default, 1 = red, 2 = green)
    /// </summary>
    /// <param name="logValue"></param>
    /// <param name="colorIndex"></param>
    private void writeToLog(string logValue, int colorIndex)
    {
        if (colorIndex == 0)
        {
            TextBox2.ForeColor = Color.Black;
        }
        else if(colorIndex == 1)
        {
            TextBox2.ForeColor = Color.Red;
        }
        else if(colorIndex == 2)
        {
            TextBox2.ForeColor = Color.Green;
        }

        TextBox2.Text = "[ " + DateTime.Now + "] " + logValue + Environment.NewLine + TextBox2.Text;

    }

其实我想要的输出如下:

enter image description here

你可以在上面的输出中看到同一个文本框中有三种不同颜色的文本。 此输出实际上来自桌面应用程序。我想在 asp.net 网页中显示相同类型的输出?我该怎么做?请帮忙。提前致谢!!

最佳答案

谢谢大家的回答!正如 Knaģi 所说,由于客户可能不需要编辑日志中的值,我认为使用所见即所得编辑器是不必要的。因此,为了解决我的问题,我使用了 div 而不是文本框。

<div id = "log" style="border: thin solid #00CC99; width:844px; height:193px; overflow:auto;" runat= "server">
    </div>

在我后面的代码中,我将日志填写为:

private void writeToLog(string logValue, int colorIndex)
    {
        logValue = "[ " + DateTime.Now + "] " + logValue;
        if (colorIndex == 0)
        {
          string htmlCode = "<font style='color:black'>"+logValue+"</font><br/>";
          log.InnerHtml = htmlCode + log.InnerHtml;

        }
        else if(colorIndex == 1)
        {
            string htmlCode = "<font style='color:red'>" + logValue + "</font><br/>";
            log.InnerHtml = htmlCode + log.InnerHtml ;
        }
        else if(colorIndex == 2)
        {
            string htmlCode = "<font style='color:green'>" + logValue + "</font><br/>";
            log.InnerHtml = htmlCode + log.InnerHtml ;
        }



    }

关于c# - 在文本框中显示不同颜色的字符串(文本)asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710774/

相关文章:

c# - 让程序确保它有 3 个自己的实例一直在运行?

c# - 如何提高ASP.NET中GridView或DetailsView的效率?

c# - JSON.NET 干扰 MSChart 日期

c# - 创建实体时发现重复记录错误

C#线程问题

c# - 具有异步任务的 BenchmarkDotNet

javascript - 部署时 Bootstrap 文件输入不起作用

GridView 列标题中的 CheckAll 复选框的 jQuery

javascript - 按钮禁用时如何替换事件处理程序

c# - 如何跟踪 Nuget.Server 上的包下载?