Panel Syntax

T

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

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

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
 
T

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,708
Latest member
SherleneF1

Latest Threads

Top