2

私のasp.net Webサイトには、ログ情報を提供するテキストボックスがあります。このログを使用して、エラー、成功、およびその他の情報を表示しています。私がやりたいのは、ログの種類に応じてテキストボックスに結果テキストを色で表示したいということです。例えば; エラーを赤いテキストで表示し、成功を緑で表示したいと考えています。

次のコードを試しましたが、このコードを使用すると、テキストボックスのコンテンツ全体の色が変わります。

    /// <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;

    }

実際には、次のような出力が必要です。

ここに画像の説明を入力

上記の出力では、同じ texbox に 3 つの異なる色のテキストがあることがわかります。この出力は、実際にはデスクトップ アプリケーションからのものです。そして、私はasp.net Webページで同じタイプの出力を表示したいですか? どうすればできますか?助けてください。前もって感謝します!!

4

5 に答える 5

2

asp.netでは、テーブルが最適なオプションだと思います.idとclassを使用してテキストの色を変更し、cssを適用してスタイルを与えることができます

<table id="log">
 <tr><th>Response Type</th><th>Response Time</th><th>Response Data </th></tr>
 <tr class="error"><td></td><td></td><td></td></tr>
 <tr class="info"><td></td><td></td><td></td></tr>  
</table>

jQueryまたはコードビハインドで行を追加する必要があります。それはあなたにとって十分に役立つと思います。

于 2013-05-23T10:09:08.400 に答える
2

単純な TextBox は使用できません。代わりに、多くの WYSIWYG エディターのいずれかを使用する必要があります。任意のサーバー側言語のラッパーで利用できる選択肢が多数あります。

ただし、コードではユーザーがこのデータを変更できる必要はないため、正しいスタイルで HTML コードをレンダリングし、overflow-y: auto; max-height:100pxCSS スタイルを適用して、コンテンツが長すぎる場合にスクロールバーがレンダリングされるようにする必要があります。

于 2013-05-23T09:58:14.330 に答える
1

代わりにラベルを使用できます。そうすれば、さまざまなスタイルを定義するために htmlスパンタグを使用してテキストを簡単にレンダリングできます。

    if (colorIndex == 0)
    {
        Lable2.Text += "<span style='color:Black'>Black information...</span><br/><br/>";
    }
    else if(colorIndex == 1)
    {
        Lable2.Text += "<span style='color:Red'>Red information...</span><br/><br/>";
    }
    else if(colorIndex == 2)
    {
        Lable2.Text += "<span style='color:Green'>Green information...</span><br/><br/>";
    }
于 2013-05-23T10:10:59.550 に答える