我仍然被困......我正在使用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以某种方式格式化所有内容,以便用户可以读取它吗?
答案 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();