2011-07-14 47 views
6

Tôi cần phải liên kết dữ liệu văn bản lớn với nhãn động. Tôi sẽ nhận được một số dữ liệu văn bản lớn từ một nguồn dữ liệu và phải liên kết nó với lable. Vậy làm thế nào để hiển thị nhiều dòng văn bản trong một nhãn.Liên kết nhiều dòng văn bản với một nhãn

Trả lời

6

dễ nhất sẽ chỉ

string value = "one\r\ntwo\r\nthree"; 

label.Text = value.Replace(Environment.NewLine, "<br/>"); 

Nhưng nếu bạn có một danh sách các chuỗi bạn có thể thử một cách tiếp cận lặp lại

<asp:Label ID="label" runat="server"> 
    <asp:Repeater ID="repeater" runat="server"> 
     <ItemTemplate> 
      <%# Container.DataItem %> <br /> 
     </ItemTemplate> 
    </asp:Repeater> 
</asp:Label> 

Và mã

List<string> listOfStrings = new List<string>() 
    { 
     "One", "Two", "Three" 
    }; 

repeater.DataSource = listOfStrings; 
repeater.DataBind(); 
0

Tôi không biết những gì "đơn vị" bạn sẽ đo chiều dài văn bản. nhưng thêm <br /> vào ur_string sẽ bắt đầu một dòng mới.

EDITED

này không hợp lệ cho tất cả asp.net điều khiển. chỉ asp.net label hiển thị là html span, vì vậy đối với nhãn <br /> sẽ có tác dụng mong muốn.

+0

bạn có thể giải thích những gì một 'ur_string' là, và những gì khác biệt các đơn vị sẽ thực hiện? –

+0

@Martinho Fernandes 'ur_string' chỉ là một biến. sự khác biệt trong "đơn vị" i có nghĩa là kích thước phông chữ khác nhau sẽ cung cấp độ dài văn bản khác nhau. do đó, "đơn vị" lên tới OP. –

3

Trong việc bạn sử dụng trường hợp của nghĩa đen là tốt hơn bởi vì bạn viết html trong nghĩa đen từ mã của bạn như thế này:

Literal1.Text = "Hello<br/>"+"How are you?".... 

Hoặc bạn có thể sử dụng hộp chữ như quy định TextMode tài sản = Multiline và readonly = True để hành xử như nhãn

1

Bạn chỉ có thể thử này

Label.AutoSize = false 
Các vấn đề liên quan