C# 如何在无序列表元素中添加表单输入

C# 如何在无序列表元素中添加表单输入,c#,asp.net,C#,Asp.net,我正在动态生成一个asp表单,我想在列表中添加标签和输入元素 例如,我想以如下方式结束: <ul> <li><label for="input"/><input id=input"/></li> </ul> 你可以用中继器做类似的事情 <asp:Repeater ID="rpt" runat="server"> <HeaderTemplate> <ul>

我正在动态生成一个asp表单,我想在列表中添加标签输入元素

例如,我想以如下方式结束:

<ul>
<li><label for="input"/><input id=input"/></li>
</ul>

  • 你可以用中继器做类似的事情

    <asp:Repeater ID="rpt" runat="server">
        <HeaderTemplate>
            <ul>
        </HeaderTemplate>
        <ItemTemplate>
            <li>
                <label for='<%# string.Format("ctrl-{0}", Container.ItemIndex) %>'>label for ctrl #<%# Container.ItemIndex %></label>
                <input id='<%# string.Format("ctrl-{0}", Container.ItemIndex) %>' type="text" />                
            </li>
        </ItemTemplate>
        <FooterTemplate>
            </ul>
        </FooterTemplate>
    </asp:Repeater>
    
    
    
    • ctrl的标签#

    如果需要将服务器控件添加到列表中,则需要对中继器的ItemDataBound事件执行某些操作。

    您可能可以使用中继器执行类似操作

    <asp:Repeater ID="rpt" runat="server">
        <HeaderTemplate>
            <ul>
        </HeaderTemplate>
        <ItemTemplate>
            <li>
                <label for='<%# string.Format("ctrl-{0}", Container.ItemIndex) %>'>label for ctrl #<%# Container.ItemIndex %></label>
                <input id='<%# string.Format("ctrl-{0}", Container.ItemIndex) %>' type="text" />                
            </li>
        </ItemTemplate>
        <FooterTemplate>
            </ul>
        </FooterTemplate>
    </asp:Repeater>
    
    
    
    • ctrl的标签#

    如果需要将服务器控件添加到列表中,则需要对中继器的ItemDataBound事件执行一些操作。

    System.Web.UI.HtmlControls命名空间具有一些有用的控件

    在您的aspx中:

    <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
    
    
    
    在代码隐藏中:

    HtmlGenericControl list = new HtmlGenericControl("ul");
    for (int i = 0; i < 10; i++)
    {
        HtmlGenericControl listItem = new HtmlGenericControl("li");
        Label textLabel = new Label();
        textLabel.Text = String.Format("Label {0}", i);
        listItem.Controls.Add(textLabel);
        // etc...
        list.Controls.Add(listItem);
    }
    PlaceHolder1.Controls.Add(list);
    
    HtmlGenericControl列表=新的HtmlGenericControl(“ul”);
    对于(int i=0;i<10;i++)
    {
    HtmlGenericControl列表项=新的HtmlGenericControl(“li”);
    标签文本标签=新标签();
    Text Label.Text=String.Format(“标签{0}”,i);
    listItem.Controls.Add(textLabel);
    //等等。。。
    list.Controls.Add(列表项);
    }
    占位符1.控件.添加(列表);
    

    工作起来很有魅力。

    System.Web.UI.HtmlControls命名空间有一些有用的控件

    在您的aspx中:

    <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
    
    
    
    在代码隐藏中:

    HtmlGenericControl list = new HtmlGenericControl("ul");
    for (int i = 0; i < 10; i++)
    {
        HtmlGenericControl listItem = new HtmlGenericControl("li");
        Label textLabel = new Label();
        textLabel.Text = String.Format("Label {0}", i);
        listItem.Controls.Add(textLabel);
        // etc...
        list.Controls.Add(listItem);
    }
    PlaceHolder1.Controls.Add(list);
    
    HtmlGenericControl列表=新的HtmlGenericControl(“ul”);
    对于(int i=0;i<10;i++)
    {
    HtmlGenericControl列表项=新的HtmlGenericControl(“li”);
    标签文本标签=新标签();
    Text Label.Text=String.Format(“标签{0}”,i);
    listItem.Controls.Add(textLabel);
    //等等。。。
    list.Controls.Add(列表项);
    }
    占位符1.控件.添加(列表);
    
    工作起来很有魅力