2009-04-28 25 views
6

Tôi đang cố gắng tự động thêm kết quả vào màn hình này và tôi chỉ muốn đặt thẻ ngắt sau nhãn để bắt đầu đặt thông tin trên dòng tiếp theo. Vì một lý do nào đó, Sử dụng chữ nghĩa là không hiệu quả đối với tôi. Có cách nào tốt hơn để làm điều này hay tôi nên sử dụng bảng?Chèn <br /> thẻ theo lập trình (VB.NET)

Dim break As LiteralControl 
break = New LiteralControl("<br />") 
divListenerInfo.Controls.Add(break) 

Đó là một phần của mã mà tôi đang cố gắng sử dụng.


Hãy để tôi làm rõ những gì tôi đã nói:

Nó không hoạt động như trong ngắt dòng không hiển thị trên trang web. Nó biên dịch tốt và không có gì sai với mã. Nó chỉ không hiển thị trong html cho một số lý do lẻ.

+0

Tại sao không thêm nhãn khác, hoặc thêm các label.txt trước với một break? – madcolor

+0

Tôi không biết VB.NET, nhưng ngắt là một từ dành riêng trong C#. Bạn nhận được một cảnh báo trình biên dịch để sử dụng nó? –

+0

madcolor: Không phải là một ý tưởng tồi. Ra ngoài không gian: Không. – Paxenos

Trả lời

14

Việc kiểm soát thích hợp để sử dụng là HtmlGenericControl.

Dim br As New HtmlGenericControl("br") 

Bạn có thể sử dụng HtmlGenericControl để hiển thị bất kỳ phần tử HTML nào bạn muốn, chỉ cần chuyển tên thẻ của phần tử làm đối số duy nhất cho hàm tạo.

+0

Tuyệt vời! Đã không nhận thức được HtmlGenericControl trước đó. Cám ơn. – Cyberherbalist

+0

Điều này không hoạt động. Thẻ ngắt xuất hiện ở đâu đó trong html. – Paxenos

+0

Có vẻ như bất kỳ điều khiển mới nào bạn tạo sẽ không được thêm vào ControlCollection của Trang. Bạn phải xác minh rằng bản thân điều khiển thực sự đang được thêm vào. –

2

Tại sao không chỉ sử dụng nhãn khác hoặc thêm <br> vào label.txt trước đó?

+0

Nó hoạt động. Cảm ơn – Paxenos

+0

Đã bỏ phiếu Andrew +1, vì tôi tin rằng anh ấy có giải pháp sạch hơn phù hợp hơn. – madcolor

1

Tôi không chắc chắn nếu nghỉ là một từ dự trữ cũng trong vb.net vì vậy hãy thử

Dim newline = New LiteralControl("<br>") 

hoặc

newline.Text="<br>"; 
+0

Tôi đã thay đổi tên biến để đảm bảo, và nó không thay đổi bất cứ điều gì. – Paxenos

+0

được cập nhật với giải pháp mới – TStamper

2

Nếu thêm
là phần tử cuối cùng trong div vùng chứa, bạn không thể thấy bất kỳ sự khác biệt nào.

bạn có thể thử:

Dim breakTag As LiteralControl 
breakTag= New LiteralControl("<br />&nbsp;") 
divListenerInfo.Controls.Add(breakTag) 

để xem giờ nghỉ.

Nhưng tôi nghĩ trước tiên bạn nên thêm văn bản giả vào Văn học này và tìm kiếm văn bản đó trong trang của bạn nếu nó được thêm vào. vì mã của bạn có vẻ ổn.

+0

Tôi đặt một số văn bản chung trong LiteralControl và nó chỉ hiển thị 2 trong 10 lần trong html. Bất kỳ đầu mối nào về lý do tại sao? Tôi bước qua nó và dòng mã đang bị đánh, nhưng không có kết quả của nó. – Paxenos

0

Tôi sẽ thử bước qua mã bằng trình gỡ lỗi để đảm bảo đường bị trúng, đồng thời kiểm tra ba lần rằng divListenerInfo là điều khiển phù hợp.

0

Tôi nghĩ bạn đang sử dụng bảng điều khiển hoặc trình giữ chỗ.

vb.net hoặc C# .net cú pháp:

divListenerInfo.Controls.Add(New LiteralControl("<br>")) 
+1

Tôi nghi ngờ rời khỏi "/" ra là sẽ thay đổi nhiều, và có thể phá vỡ trang của mình ... hoặc bạn có thể trả lời trước khi đọc toàn bộ trang? –

2


Tôi biết điều này là làm sống lại một bài cũ nhưng tôi không thấy bất kỳ câu trả lời rõ ràng và cuối cùng tôi figured it out cho các ứng dụng của riêng tôi. Hy vọng nó sẽ giúp người khác!
Trong ứng dụng của tôi, tôi đã cố tạo điều khiển một lần và thêm lại vào bất cứ nơi nào tôi cần. Điều khiển sẽ chỉ được tạo một lần cho mỗi phụ huynh.
Bạn cần phải tạo điều khiển mới mỗi lần bạn cần!
Vì vậy, đây:

divListenerInfo.Controls.Add(New LiteralControl("&lt;br />")) 
divListenerInfo.Controls.Add(New LiteralControl("&lt;br />")) 

Thay vì điều này

Dim breakTag As LiteralControl 
breakTag= New LiteralControl("&lt;br />") 
divListenerInfo.Controls.Add(breakTag) 
divListenerInfo.Controls.Add(breakTag) 
Các vấn đề liên quan