0

ページにjqueryタブがあります。コードビハインドから動的に各タブにタブとグリッドビューを追加したいと思います。どうすれば追加できますか。以下のように、プレースホルダーにjqueryタブのマークアップを追加することにほとんど混乱しています。

<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>

タブの数は異なる可能性があるため、これらのグリッドビューを動的に追加したいと思います。助けてください

4

1 に答える 1

0

グーグルをウォーミングアップし、アイデアを実装した後、私はこれに魂を注ぎました。コードビハインドにhtmlコントロールを追加し、プレースホルダーに配置するだけで問題が解決します。Pag​​e_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++;
            }         

        }
于 2013-03-26T11:52:10.283 に答える