2012-08-16 60 views
4

我添加標籤頁面programmaticaly(代碼隱藏文件C#)添加<br/>和<hr/>頁中的代碼隱藏asp.net

Label label1 = new Label(); 
label1.Text = "abc"; 
this.Page.Form.FindControl("ContentPlaceHolder1").Controls.Add(label1); 

Label label2 = new Label(); 
label2.Text = "def"; 
this.Page.Form.FindControl("ContentPlaceHolder1").Controls.Add(label2); 

我想這些labels.How之間添加小時,BR這樣做呢?

this.Page.Form.FindControl("ContentPlaceHolder1").Controls.Add("<hr/>"); 

不起作用。

+2


」 是不是控制。添加'LiteralControl'而不是 – 2012-08-16 19:10:33

回答

13
Label label1 = new Label(); 
    label1.Text = "Test 1"; 
    form1.Controls.Add(label1); 

    form1.Controls.Add(new Literal() { ID="row", Text="<hr/>" }); 


    Label label2 = new Label(); 
    label2.Text = "Test 2"; 
    form1.Controls.Add(label2); 

Output: 
Test 1 
--------------------------------------------------------------------------------- 
Test 2 
4

您可以使用文字控制

Literal c = new Literal(); 
c.Text = "<hr />; 
6

添加LiteralControl

this.Page.Form.FindControl("ContentPlaceHolder1") 
    .Controls.Add(new LiteralControl("<hr/>")); 
6

你可以使用一個HtmlGenericControl

var hrControl = new HtmlGenericControl("hr") 
this.Page.Form.FindControl("ContentPlaceHolder1").Controls.Add(hrControl); 
+0

這會導致關閉hr標籤,並且會在HTML解析HtmlAgilityPack時導致驗證錯誤。其他自閉標籤也是如此。如果您需要自動關閉標籤,則應使用適當的HTML控件或文字。 – DannyBoy 2014-04-23 12:24:09