2013-03-25 70 views
0

我的頁面上有jquery選項卡。我想在後面的代碼中動態地在每個選項卡中添加製表符和gridview。我如何添加。我在添加佔位符中的jquery選項卡的標記時感到困惑,如下所示。在佔位符中添加html標記和gridview代替

<div id="ui-tabs"> 
<ul> 
<li><a href="#tabs-1">title1</a></li> 
<li><a href="#tabs-2">title2</a></li> 
<li><a href="#tabs-3">title3</a></li> 
</ul> 
<div id="tabs-1"> 
Content with gridview1 
</div> 
<div id="tabs-2">Content with gridview2</div> 
<div id="tabs-3">Content with gridview3</div> 
</div> 

我想動態添加這些gridview,因爲選項卡的數量可能會有所不同。請幫助

回答

0

熱身後,谷歌和實施這個想法,我得到靈魂這一點。只需在代碼中添加HTML控件後面,將它們放置在佔位符解決我的問題..看到代碼在Page_Load方法

.ASPX

<div> 
     <asp:placeholder runat="server" id="placeholderDynamic"> 

     </asp:placeholder> 
</div> 

.ASPX.CS

 if (!IsPostBack) 
     {    
      // Get the list from database 
      List<CategoryQuesAns> quesAns = GetQuestions(); 

      //For Jquery tabs we require <li> in <ul> and <div> within one outer <div> 

      //Create outer div 
      HtmlGenericControl divCotnainer = new HtmlGenericControl("div"); 
      divCotnainer.ID = "ui-tabs"; 
      divCotnainer.ClientIDMode = ClientIDMode.Static; 

      //Create ul 
      HtmlGenericControl unorderdList = new HtmlGenericControl("ul"); 


      //Create li's as per the number of questions 
      int i = 1; 
      foreach (CategoryQuesAns ques in quesAns) 
      { 
       HtmlGenericControl listcontrol = new HtmlGenericControl("li"); 
       HtmlAnchor anchor = new HtmlAnchor(); 
       anchor.HRef = "#tabs-"+i.ToString(); 
       anchor.InnerText = "Q-" + i.ToString(); 
       listcontrol.Controls.Add(anchor); 
       //adding li in ul 
       unorderdList.Controls.Add(listcontrol); 
       i++; 
      } 

      //adding ul in the outer div 
      divCotnainer.Controls.Add(unorderdList); 

      //adding div in the outer div 
      int j = 1; 
      foreach (CategoryQuesAns ques in quesAns) 
      { 
       //create inner div as per the number of questions 
       HtmlGenericControl divtabs = new HtmlGenericControl("div"); 
       divtabs.ID = "tabs-" + j.ToString(); 
       divtabs.ClientIDMode = ClientIDMode.Static; 

       //create gridview table for each tab(li) 
       Label lblQuestionText = new Label(); 
       lblQuestionText.Text = ques.QuestonName; 

       GridView dyamicGrid=new GridView(); 
       dyamicGrid.ID = "Gridview-" + j.ToString(); 
       dyamicGrid.ClientIDMode = ClientIDMode.Static; 
       dyamicGrid.CssClass = "mGrid"; 

       dyamicGrid.DataSource = quesAns; 
       dyamicGrid.DataBind(); 

       divtabs.Controls.Add(lblQuestionText); 
       divtabs.Controls.Add(dyamicGrid); 
       divCotnainer.Controls.Add(divtabs); 
       placeholderDynamic.Controls.Add(divCotnainer); 
       j++; 
      }   

     }