2016-03-31 3 views
1

Hala takıldım ... ASP.NET Web Formları kullanıyorum.Bir TextBox'a Metin arkasından koddan birkaç kez ekleme?

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

Ben sadece geride kodundan sonra bu metin için metin ekleyebilirsiniz:

Ben bir TextBox var

Ben tekrar metni eklemeye çalışırsanız
txtBoxAlgo.Text = ("My first line of text" + Environment.NewLine); 

Şimdi benim konudur metin kutusu hiçbir şey olmuyor. Örneğin:

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

Şimdi ben bir C# konsolu ve C# Windows formları için yaptık basit bir programı nedeniyle taşınıyorum. ASP.NET Web Formları ile deniyorum.

Console.WriteLine (""); konsol uygulamamın tamamı boyunca. Web formları için benzer bir şeyi yapabilmenin tek yolu, her bir örnek için ekrana metin çıkaran Etiketler ve Metin Kutuları + Çok Satırları'nı oluşturmaktır. Bu noktada, Console.WriteLine'ın her bir örneği için bu kadar çaba sarfetmeye değmez.

Response.Write'i denedim, ancak önce bu, web sayfasının sol üst köşesinde ve bunların tümü biçimlendirilmemiş olarak gösterilir.

Fikirlerim tükendi ve arama yaparken hiçbir şey bulamıyorum. Bir metin kutusuna metin ekleyebilir veya ekleyebilir misiniz? Bir kullanıcının okuyabileceği her şeyi biçimlendirmek için Response.Write'i bir şekilde kullanabilir miyiz?

+0

, metin doğru, "metnin ilk satırından" dan değişmez demek oluyorsa? Bundan sonra metin değişimini nasıl değiştirmeye çalışıyorsunuz? Bir düğme ile mi? Ayrıca, tekrar metin ekleyerek, birleştirmek veya değiştirmek anlamına mı geliyor? Çünkü Text = "" – Fenrir88

+0

'u değiştiriyor ReadOnly = "true" 'ile bir ilgisi yok mu? – Quantic

+0

TextBox kalır: "İlk ty! Çalışır!". Hatta "Nothing, çalışmayan :(" ReadOnly = "false" değerine ekleme ya da değiştirmeyi düşündüğümüz kodun ikinci satırından sonra bile, sorunum hala metin kutusunun yalnızca son Metni gösterdiğidir = ""; Yine de eski metni korurken yeni bir satıra metin eklemek için var mı? – 702cs

cevap

2

Kullanım += yerine = zaman Textbox

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

sizin metin kutusu için bir değer atarken = her kullandığınızda zaman ekstra metin ekleme, sadece neden sadece son dizesi önceki değerini değiştiriyorsanız görünür.

Veya kullanmak StringBuilder: hiçbir şey By

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