如何在转发器中动态添加html li控件

时间:2013-12-23 13:02:05

标签: html asp.net

我想在asp.net中的三个li之后添加新的Repeater1_ItemDataBound,我的HTML代码是

 <asp:repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
    <ItemTemplate>
       <ul class="slider carousel" id="sliderName">
          <li class="slide">
             <div class="one-third column alpha portfolio-item">
                <div  class="content">
                   <div class="border">
                      <asp:Image ID="imgHotels" runat="server" Width="300px" Height="130px" class="scale-with-grid" />
                      <a href="" class="prettyPhoto zoom"></a>
                      <a class="link" href=""></a>
                   </div>
                   <center><h5 class="noline"><a href="#">

                   <asp:Label Visible ="false" ID="lblhotelid" runat="server" Text='<%#Eval("SrNo") %>'></asp:Label>      
                   <asp:Label ID="lblhotelname" Visible="true" runat="server" Text='<%#Eval("hotelname") %>'></asp:Label>

                   </a></h5></center> <div class="shadow">
               </div>
            </div>
          </div>  
        </li>   
      </ul>
   </ItemTemplate>

如何在此代码中添加html控件li

        if (repeat % 3 == 0)
        {
            HtmlGenericControl li = new HtmlGenericControl();//create the html control li
}

谢谢,求助                                                                

2 个答案:

答案 0 :(得分:1)

在代码隐藏中生成html控件是一种不好的做法。

试试这个:

<li runat="server" Id="liControl" Visible='<%# Container.ItemIndex % 3 == 0 ? "true" : "false" %>' >...</li>

<% if(Container.ItemIndex % 3 == 0) { %>
    <li>...</li>
<% } %>

答案 1 :(得分:0)

将文字放在要在转发器项目模板

中插入extral li的位置

在行数据绑定中找到相同内容并将数据分配给text属性 有些事情如下。

if (repeat % 3 == 0)
    {
        Literal ltrlLiContent=(Literal)e.Item.FindControl("lstrLiContent");

        string strDataForli="";  //fill your content with li tags into this variable

        ltrlLiContent.Text=strDataForli;
    }