当前位置:编程学习 > C#/ASP.NET >>

updatepanel控件中的htmltable提取不出动态添加的控件

 谢谢大家帮我看看这个问题:  
                        为了页面重用用了母版页 这个页面是其中的一个内容页 在 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 中 该页面用了3个updatepanel控件局部刷新 (不嵌套)这是第二个 第二个中有两个htmltable 其中是根据第一个updatepancel中的数据 动态添加 n个 checkboxlist 并动态绑定(遍历数组绑定的)  我的三个updatepanel 是根据 checkboxlist选择的值 设置的   那么我首先得找到动态添加的 那 n 个 checkboxlist  但是问题就在这 就是 找不到 那些动态添加的 复选框啊  
UpdatePanel up2 = this.Master.FindControl("ContentPlaceHolder1").FindControl("UpdatePanel2") as UpdatePanel  ;
 HtmlTable htmlTb = this.Master.FindControl("ContentPlaceHolder1").FindControl("UpdatePanel2").FindControl("inPutTb") as HtmlTable;
htmlTb返回的值是 null  inPutTb中还有 HtmlTableRow (runat="server")  和 HtmlTableCell (runat="server")  但是连 inPutTb 都找不到。
添加n个复选框的方法是根据 此方法添加的     
 public void InsertCheckList(ArrayList tbNameList)
        {
            
            this . intPutTb.Rows.Clear();
            HtmlTableRow HTR = new HtmlTableRow();
            HTR.ID = "HTR";
            string xmlPath = Server.MapPath("xmlfile/XmlTbMeg.xml");
            for (int i = 0; i < tbNameList.Count; i++)
            {


                HtmlTableCell HTCLab = new HtmlTableCell();
                HtmlTableCell HTCCbl = new HtmlTableCell();
                ArrayList colnumsList = new ArrayList();
                string tbName = tbNameList[i].ToString();
                colnumsList = XmlOperate.GetTbColList(tbName, xmlPath);
                CheckBoxList IntPutCbl = new CheckBoxList();
                Label tbNameLable = new Label();
                tbNameLable.Text = tbName + ":";
                IntPutCbl.ID = "IntPutCbl" + i.ToString();
                for (int j = 0; j < colnumsList.Count; j++)
                {
                    IntPutCbl.Items.Add(colnumsList[j].ToString());
                }

               
                HTCCbl.ID = "HTCCbl";
                HTCLab.ID = "HTCLab";
                HTCLab.Controls.Add(tbNameLable);
                HTCCbl.Controls.Add(IntPutCbl);
                HTR.Controls.Add(HTCLab);
                HTR.Controls.Add(HTCCbl);
                intPutTb.Rows.Add(HTR);
            }
        }

 <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
                                    <ContentTemplate>
                                     <table  > 
                                          <tr>
                                                <td class="style6">
                 <asp:Label ID="Label3" runat="server" Font-Size="Small" Text="配置输入值:"></asp:Label>
                 <table ID="intPutTb" runat="server" class="style1"> </table>                                                    </td>
                                                <td class ="style1 ">
           <asp:Label ID="Label4" runat="server" Font-Size="Small" Text="配置输出值:"></asp:Label>
                 <table ID="outPutTb" runat="server" class="style1"> </table>
                                                   </td>
                                            
                                          </tr>
                                        </table>
                                    </ContentTemplate>
                                    <Triggers>
                                        <asp:AsyncPostBackTrigger ControlID="ConfirmBut" EventName="Click" />
                                        <asp:AsyncPostBackTrigger ControlID="DeleteBut" EventName="Click" />
                                    </Triggers>
                                </asp:UpdatePanel>
        这个是我做的通用查询系统配置查询部分 ,我想在web上实现相当于 SqlDataSource 配置数据源时候的效果,问题不难就是找个控件 ,但是我就是给卡这了 。(我还是学生,思路完全是个人想法,我不是计算机专业的,没得讨论只能来这望高手帮忙) 或者给我提些更好的思路。不胜感激。

    --------------------编程问答-------------------- 没人看么。 --------------------编程问答-------------------- 我自己顶
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,