Joh*_*lan 10 html asp.net webforms
我有这个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));
}
Run Code Online (Sandbox Code Playgroud)
这是我要构建的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>
Run Code Online (Sandbox Code Playgroud)
如何在列表项中定位控件?我需要以不同的方式解决问题吗?
mat*_*net 11
改变这一行:
controls.ToList().ForEach(c => Controls.Add(c));
Run Code Online (Sandbox Code Playgroud)
对于这些线:
Control ol = new HtmlGenericControl("ol");
controls.ToList().ForEach(c => ol.Controls.Add(new HtmlGenericControl("li").Controls.Add(c)));
Controls.Add(ol);
Run Code Online (Sandbox Code Playgroud)
编辑:
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);
Run Code Online (Sandbox Code Playgroud)
我建议创建一个HtmlGenericControls树:http: //msdn.microsoft.com/library/system.web.ui.htmlcontrols.htmlgenericcontrol.aspx