从代码后面多次向TextBox添加文本?

时间:2016-03-31 17:04:12

标签: c# asp.net webforms

我仍然被困......我正在使用ASP.NET Web Forms。

我有一个TextBox:

<p><asp:TextBox runat="server" TextMode="Multiline" ReadOnly="true" ID="txtBoxAlgo" rows="50" width="878px"></asp:TextBox></p>

我只能在后面的代码中添加文本到这个文本框:

txtBoxAlgo.Text = ("My first line of text" + Environment.NewLine);

现在我的问题是如果我尝试再次向文本框添加文本没有任何反应。例如:

txtBoxAlgo.Text = ("First try! It works!");
txtBoxAlgo.Text = ("Nothing, not working :(");

现在我正在研究一个我为C#控制台和C#Windows窗体制作的简单程序。我正在试验ASP.NET Web Forms。

我使用了Console.WriteLine(“”);整个控制台应用程序。我可以为webforms执行类似操作的唯一方法是为每个实例制作Labels和TextBoxes + Multilines我想要将文本输出到屏幕,此时不值得为Console.WriteLine的每个实例做所有的努力。

我尝试了Response.Write,但首先关闭此内容显示在网页的左上角,并且全部未格式化。

我的想法用完了,搜索时找不到任何东西。您可以在文本框中添加或附加文本吗?我们可以使用Response.Write以某种方式格式化所有内容,以便用户可以读取它吗?

1 个答案:

答案 0 :(得分:2)

在向文本框添加额外文字时使用+=代替=

txtBoxAlgo.Text = "My first line of text" + Environment.NewLine;
txtBoxAlgo.Text += "First try! It works!";
txtBoxAlgo.Text += "Should work.";

每次在为文本框分配值时使用=,您只需替换之前的值,这就是为什么只有最后一个字符串可见。

或使用StringBuilder

StringBuilder sb = new StringBuilder();
sb.AppendLine("First Line");
sb.AppendLine("Second Line");
txtBoxAlgo.Text = sb.ToString();