Home All Groups Group Topic Archive Search About
Author
6 Jan 2006 3:01 AM
TC
In the below example of code, 

What is the syntax to access the contents of TextBox1?

Also, what is the syntax to iterate all occurrences of the TextBoxes?

Thanks,

TC

<%@ Page Language="C#" AutoEventWireup="True" %>
<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>

Author
6 Jan 2006 5:17 PM
Phillip Williams
TextBox tb = (TextBox)Panel1.FindControl("TextBox1");

Show quoteHide quote
"TC" wrote:


> In the below example of code, 
>
> What is the syntax to access the contents of TextBox1?
>
> Also, what is the syntax to iterate all occurrences of the TextBoxes?
>
> Thanks,
>
> TC
>
> <%@ Page Language="C#" AutoEventWireup="True" %>
> <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>
>
Author
6 Jan 2006 6:38 PM
Phillip Williams
To iterate all occurrences of the TextBoxes:

foreach(Control cntrl in Panel1.Controls)
{
       if (cntrl is TextBox)
    {
                TextBox myTextBox = (TextBox)cntrl;
    //process based on the textbox
    }
}

Show quoteHide quote
"Phillip Williams" wrote:

> TextBox tb = (TextBox)Panel1.FindControl("TextBox1");
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "TC" wrote:
>
> > 
> > In the below example of code, 
> >
> > What is the syntax to access the contents of TextBox1?
> >
> > Also, what is the syntax to iterate all occurrences of the TextBoxes?
> >
> > Thanks,
> >
> > TC
> >
> > <%@ Page Language="C#" AutoEventWireup="True" %>
> > <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>
> >
Author
6 Jan 2006 9:16 PM
TC
Phillip,

Thanks you. 

One question, If I created the panel on load pre-postback, and inputed
content into the panel.  Would I use the same syntax to access the contents
after postback?

I get the following message when I play with the Immediate Window (after
postback):
"function 'Panel1.FindControl' evaluated and returned null".

Thanks again.
TC

Show quoteHide quote
"Phillip Williams" wrote:

> To iterate all occurrences of the TextBoxes:
>
> foreach(Control cntrl in Panel1.Controls)
> {
>        if (cntrl is TextBox)
>     {
>                 TextBox myTextBox = (TextBox)cntrl;
>     //process based on the textbox
>     }
> }
>
> "Phillip Williams" wrote:
>
> > TextBox tb = (TextBox)Panel1.FindControl("TextBox1");
> >
> > --
> > HTH,
> > Phillip Williams
> > http://www.societopia.net
> > http://www.webswapp.com
> >
> >
> > "TC" wrote:
> >
> > > 
> > > In the below example of code, 
> > >
> > > What is the syntax to access the contents of TextBox1?
> > >
> > > Also, what is the syntax to iterate all occurrences of the TextBoxes?
> > >
> > > Thanks,
> > >
> > > TC
> > >
> > > <%@ Page Language="C#" AutoEventWireup="True" %>
> > > <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>
> > >
Author
6 Jan 2006 9:41 PM
TC
I found my answer.  Because of managed code I should not be playing in the
postback world.  Instead I should place my code into an event (like a button
click).


Thanks

Show quoteHide quote
"TC" wrote:

> Phillip,
>
> Thank you. 
>
> One question, If I created the panel on load pre-postback, and inputed
> content into the panel.  Would I use the same syntax to access the contents
> after postback?
>
> I get the following message when I play with the Immediate Window (after
> postback):
> "function 'Panel1.FindControl' evaluated and returned null".
>
> Thanks again.
> TC
>
> "Phillip Williams" wrote:
>
> > To iterate all occurrences of the TextBoxes:
> >
> > foreach(Control cntrl in Panel1.Controls)
> > {
> >        if (cntrl is TextBox)
> >     {
> >                 TextBox myTextBox = (TextBox)cntrl;
> >     //process based on the textbox
> >     }
> > }
> >
> > "Phillip Williams" wrote:
> >
> > > TextBox tb = (TextBox)Panel1.FindControl("TextBox1");
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "TC" wrote:
> > >
> > > > 
> > > > In the below example of code, 
> > > >
> > > > What is the syntax to access the contents of TextBox1?
> > > >
> > > > Also, what is the syntax to iterate all occurrences of the TextBoxes?
> > > >
> > > > Thanks,
> > > >
> > > > TC
> > > >
> > > > <%@ Page Language="C#" AutoEventWireup="True" %>
> > > > <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>
> > > >