以编程方式在ASP.Net,C#中创建fieldset,ol/ul和li标签

Mat*_*att 11 c# asp.net tags fieldset

我需要编写一个ASP.Net表单,它将生成以下HTML:

<fieldset>   
<legend>Contact Details</legend>   
<ol>   
<li>   
<label for="name">Name:</label>   
<input id="name" name="name" class="text" type="text" />   
</li>   
<li>   
<label for="email">Email address:</label>   
<input id="email" name="email" class="text" type="text" />   
</li>   
<li>   
<label for="phone">Telephone:</label>   
<input id="phone" name="phone" class="text" type="text" />   
</li>   
</ol>   
</fieldset>  
Run Code Online (Sandbox Code Playgroud)

但是,要添加到表单中的字段将在运行时确定,因此我需要在运行时创建字段集并向其添加有序列表和列表项,并根据需要添加标签,文本框,复选框等.

我找不到会创建这些标签的标准ASP.Net对象.

例如,我想在C#中执行以下操作:

FieldSet myFieldSet = new FieldSet();
myFieldSet.Legend = “Contact Details”;
OrderedList myOrderedList = new OrderedList();

ListItem listItem1 = new ListItem();
ListItem listItem2 = new ListItem();
ListItem listItem3 = new ListItem();

// code here which would add labels and textboxes to the ListItems

myOrderedList.Controls.Add(listItem1);
myOrderedList.Controls.Add(listItem2);
myOrderedList.Controls.Add(listItem3);

myFieldSet.Controls.Add(myOrderedList);

Form1.Controls.Add(myFieldSet);
Run Code Online (Sandbox Code Playgroud)

是否有任何标准的ASP.Net对象可以产生这个,或者是否有其他方法可以实现相同的结果?

马特

Edw*_*ing 26

你可以试试这个:

Panel myFieldSet = new Panel();
myFieldSet.GroupingText= “Contact Details”;
HtmlGenericControl myOrderedList = new HtmlGenericControl("ol");

HtmlGenericControl listItem1 = new HtmlGenericControl ("li");
HtmlGenericControl listItem2 = new HtmlGenericControl ("li");
HtmlGenericControl listItem3 = new HtmlGenericControl ("li");

// code here which would add labels and textboxes to the ListItems

myOrderedList.Controls.Add(listItem1);
myOrderedList.Controls.Add(listItem2);
myOrderedList.Controls.Add(listItem3);

myFieldSet.Controls.Add(myOrderedList);

Form1.Controls.Add(myFieldSet);
Run Code Online (Sandbox Code Playgroud)