2015-12-14 87 views
0

我想在asp.net c#代碼後面創建嵌套標籤。
是:HTML代碼背後的代碼

<fieldset> 
       <legend>دسترسی ها</legend> 
       <fieldset> 
        <legend>'<%# Eval("Group") %>'</legend> 
        <div style="width: 95%; margin: auto; padding: 0px 5% 0px 0px; text-align: center; display: inline-block;"> 
         <div class="tblHeader"> 
          <div class="TblTitle">عنوان</div> 
          <div class="TblChk">دارد</div> 
          <div class="TblChk">اصلا ندارد</div> 
          <div class="TblTitle">عنوان</div> 
          <div class="TblChk">دارد</div> 
          <div class="TblChk">اصلا ندارد</div> 
         </div> 
         <div> 
          <div class="TblTitle"> 
           <span>'<%# Eval("Item") %>'</span> 
          </div> 
          <div class="TblChk"> 
           <input type="checkbox" name="10-1" /> 
          </div> 
          <div class="TblChk"> 
           <input type="checkbox" name="10-1" /> 
          </div> 
          <div class="TblTitle"> 
           <span>'<%# Eval("Item") %>'</span> 
          </div> 
          <div class="TblChk"> 
           <input type="checkbox" name="11" /> 
          </div> 
          <div class="TblChk"> 
           <input type="checkbox" name="11" /> 
          </div> 
         </div> 
        </div> 
       </fieldset> 

其實我有一個包含一些孩子在這裏是'<%# Eval("Item") %>'許多團體。
我該怎麼做?
如果我使用DataList'<%# Eval("Group") %>'是重複的,這不是我的目的。
我想顯示他們如下面的圖片:
enter image description here

+1

什麼是您的**精確**問題?現在很難推斷出 - 你在問什麼...... –

+0

@AndyKorneyev,對不起,我解釋了,你有什麼解決辦法嗎?謝謝。 –

回答

1

使用Panel,而不是它呈現爲一個div而是一個純粹的服務器控件。嵌套它們很容易,您只需創建面板並將它們添加到外部面板的Controls屬性中即可。

所以,你可以使用一個PlaceHolder - 控制(這是不渲染本身就是一個容器):

<asp:PlaceHolder ID="PanelContainer" runat="server"> 
</asp:PlaceHolder> 

在代碼隱藏添加一個方法是這樣的:

private void DataBindPanelContainer() 
{ 
    Panel main = new Panel(); 
    main.CssClass = "ItemData"; 

    Panel tblTitle = new Panel(); 
    tblTitle.CssClass = "TblTitle"; 
    Label lblTitle = new Label(); 
    lblTitle.ID = "LblTitle"; 
    lblTitle.Text = someField; // i don't know your datasource 
    tblTitle.Controls.Add(lblTitle); 
    main.Controls.Add(tblTitle); 

    Panel tblChk = new Panel(); 
    tblChk.CssClass = "TblChk"; 
    CheckBox chk = new CheckBox(); 
    chk.ID = "Chk1"; 
    chk.Text = "text for checkbox"; 
    tblChk.Controls.Add(chk); 
    main.Controls.Add(tblChk); 

    // .... 
    this.PanelContainer.Controls.Add(main); 
} 

和調用它Page_Load

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataBindPanelContainer(); 
}