Asp.net

使用 asp.net 控制項創建無序列表?

  • June 4, 2013

我有這個 web 控制項,我一直在動態添加控制項,但現在要求是在控制項周圍添加一個有序列表。

為了呈現控制項,我將控制項添加到 ControlsCollection

   protected void Page_Load(object sender, EventArgs e)
   {
       var document = XDocument.Load(@"http://localhost:49179/XML/Templatek.xml");
       var builder = ObjectFactory.GetInstance<IControlBuilder>();
       var controls =builder.BuildControls(document);
       controls.ToList().ForEach(c => Controls.Add(c));

   }

這是我要建構的 html+aspnet ctrls:

<fieldset>
   <ol>
     <li>
       <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
     </li>
     <li>
         <asp:TextBox runat="server" ID="TextBox1"></asp:TextBox>
     </li>
   </ol>
   </fieldset>

如何在列表項中定位控制項?我需要以不同的方式解決問題嗎?

更改此行:

controls.ToList().ForEach(c => Controls.Add(c)); 

到這些行:

Control ol = new HtmlGenericControl("ol");
controls.ToList().ForEach(c => ol.Controls.Add(new HtmlGenericControl("li").Controls.Add(c)));
Controls.Add(ol);

編輯:

   Control ol = new HtmlGenericControl("ol");
   controls.ToList().ForEach(c =>
                                 {
                                     var li = new HtmlGenericControl("li");
                                     li.Controls.Add(c);
                                     ol.Controls.Add(li);
                                 });
   Controls.Add(ol);

我建議創建一個 HtmlGenericControls 樹:http: //msdn.microsoft.com/library/system.web.ui.htmlcontrols.htmlgenericcontrol.aspx

引用自:https://stackoverflow.com/questions/3277144