1

コンソール ベースのアプリケーションを Web ベースのアプリケーションに統合する過程で、次の問題に遭遇しました。

各レコードが前のレコードを上書きせずにテキスト ボックスに表示されるように (要件に従って)、複数行のテキスト ボックスにデータを表示する必要があります (次の行にある必要があります)。

Windows フォームの場合、次のコードを使用していました。

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                predicted_grade = reader["Domain"].ToString();
                priority = "Priority: " + i;
                predicted_grade = priority +" --- "+predicted_grade + "\r\n";
                textBox2.AppendText(predicted_grade);
                i++;
            }
        }

しかし、AppendText プロパティは ASP.net Web サイトでは実行されないため、その方法がわかりません。データを次のように表示する方法を教えてください。

Code | Course Name | Predicted_Grade
1    |   Science   |  A+
2    |   Maths     |  B
3    |   History   |  C

複数行テキスト ボックスの使用

4

2 に答える 2

1

ASP.NET ページで AppendText 機能を実行するには、

predicted_grade = priority +" --- "+predicted_grade + "\r\n";
textBox2.AppendText(predicted_grade);

predicted_grade = priority +" --- "+predicted_grade + Environment.NewLine;
textBox2.Text += predicted_grade;

または、プロジェクトの多くのページで使用する場合は、TextBox コントロールAppendText()の拡張メソッドを作成できます。AppendText

public static class MyExtensions
{
    public static void AppendText(this TextBox textBox, String text)
    {
        textBox.Text += text;
    }
}

それを使用するには、次のように呼び出します。

predicted_grade = priority +" --- "+predicted_grade + Environment.NewLine;
textBox2.AppendText(predicted_grade);

拡張メソッドを使用して、次のことを処理することもでき\r\nます。

    public static void AppendLine(this TextBox textBox, String text)
    {
        textBox.Text += text + Environment.NewLine;
    }

それを使用するには、次のように呼び出します。

predicted_grade = priority +" --- "+predicted_grade;
textBox2.AppendLine(predicted_grade);

P/S: \r\nASP.Net TextBox では機能しないため、Darren が述べたように NewLine を使用する必要があります

于 2013-04-28T12:54:39.657 に答える