1楼  

Panel    控件是其他控件的容器。如果打算以编程方式生成多个控件或者打算隐藏/显示一组控件,此控件尤其有用。   
    
   下例说明如何使用    Panel    控件以编程方式生成控件和隐藏/显示一组控件。   
    
   <%@    Page    Language="C#"    %>   
   <html>   
     <head>   
      
           <script    runat="server">   
      
                 void    Page_Load(Object    sender,    EventArgs    e)    {   
                      
                       //    Show    or    hide    the    Panel    contents.   
                      
                       if    (Check1.Checked)    {   
                             Panel1.Visible=false;   
                       }   
                       else    {   
                             Panel1.Visible=true;   
                       }   
      
                       //    Generate    the    Label    controls.   
                              
                       int    numlabels    =    Int32.Parse(DropDown1.SelectedItem.Value);   
                              
                       for    (int    i=1;    i<=numlabels;    i++)    {   
                             Label    l    =    new    Label();   
                             l.Text    =    "Label"    +    (i).ToString();   
                             l.ID    =    "Label"    +    (i).ToString();   
                             Panel1.Controls.Add(l);   
                             Panel1.Controls.Add(new    LiteralControl("<br>"));   
                       }   
      
                       //    Generate    the    Textbox    controls.   
                              
                       int    numtexts    =    Int32.Parse(DropDown2.SelectedItem.Value);   
                              
                       for    (int    i=1;    i<=numtexts;    i++)    {   
                             TextBox    t    =    new    TextBox();   
                             t.Text    =    "TextBox"    +    (i).ToString();   
                             t.ID    =    "TextBox"    +    (i).ToString();   
                             Panel1.Controls.Add(t);   
                             Panel1.Controls.Add(new    LiteralControl("<br>"));   
                       }   
                 }   
      
           </script>   
      
     </head>   
     <body>   
      
           <h3>Panel    Example</h3>   
      
           <form    runat=server>   
      
                 <asp:Panel    id="Panel1"    runat="server"   
                           BackColor="gainsboro"   
                           Height="200px"   
                           Width="300px">   
      
                           Panel1:    Here    is    some    static    content...   
                           <p>   
      
                 </asp:Panel>   
      
                 <p>   
                      
                 Generate    Labels:   
                 <asp:DropDownList    id=DropDown1    runat="server">   
                       <asp:ListItem    Value="0">0</asp:ListItem>   
                       <asp:ListItem    Value="1">1</asp:ListItem>   
                       <asp:ListItem    Value="2">2</asp:ListItem>   
                       <asp:ListItem    Value="3">3</asp:ListItem>   
                       <asp:ListItem    Value="4">4</asp:ListItem>   
                 </asp:DropDownList>   
      
                 <br>   
                      
                 Generate    TextBoxes:   
                 <asp:DropDownList    id=DropDown2    runat="server">   
                       <asp:ListItem    Value="0">0</asp:ListItem>   
                       <asp:ListItem    Value="1">1</asp:ListItem>   
                       <asp:ListItem    Value="2">2</asp:ListItem>   
                       <asp:ListItem    Value="3">3</asp:ListItem>   
                       <asp:ListItem    Value="4">4</asp:ListItem>   
                 </asp:DropDownList>   
      
                 <p>   
                 <asp:CheckBox    id="Check1"    Text="Hide    Panel"    runat="server"/>   
                              
                 <p>   
                 <asp:Button    Text="Refresh    Panel"    runat="server"/>   
      
            
           </form>   
      
     </body>   
     </html>   
  


.net文档中和快速入门中有详细的示例,何必舍近求远呢!
3楼  

我也大量用Panel,布局和显隐控件。
4楼  

qz4365(冷风清扬),这样做的话还有什么意义呢?能不能说说把代码放在aspx.cs文件中的做法?我自己尝试了一下,老是错误!所以才来请教大家……   
    
     webdiyer(webdiyer)    :快速入门中?哪里呢?
5楼  

codebehind和把代码写在aspx中是完全等价的.你也可以把其中的代码部分放在aspx.cs中而不必做任何改动.   
    
   可以参考MSDN的快速入门中关于panel的例子:   
   ms-help://MS.VSCC/MS.MSDNVS.2052/Cpqstart/html/cpsmpnetsamples-aspnetservercontrolreference.htm#cpsmppanel1sample
6楼  

那段代码我很多地方看不懂,你看能不能做个详细的解释或者浓缩一下代码,把不相关的部分去掉再解释……非常感谢……
7楼  

例子主要是说明panel的两个用法:显示隐藏和向容器中添加删除控件   
   1.显示:Panel1.Visible=true;   
       隐藏:Panel1.Visible=false;   
   这样,所有panel容器的控件都会同是显示或隐藏.   
   2.添加/删除   
    
   向容器添加控件:   
   TextBox    t    =    new    TextBox();   
   t.Text    =    "TextBox1";   
   t.ID    =    "TextBox1";   
   Panel1.Controls.Add(t);   
   添加HTML脚本:   
   Panel1.Controls.Add(new    LiteralControl("<br/>"));   
   删除:   
   this.Panel1.Controls.Remove(TextBox1);   

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐