• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 490
  • Last Modified:

find control in repeater

Hello All,

I have a page with the wizard control. In one of the steps I have repeater1 and each field has a textbox called questionExpained. I need to loop through the repeater and add the textbox text to the database. I'm having issues finding the textbox. Here is the code.

<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="0" DisplaySideBar="False">
<WizardSteps>
            <asp:WizardStep ID="WizardStep1" runat="server" title="Step 1">
<asp:Repeater ID="page1Repeater" runat="server" >
        <ItemTemplate>
                 <asp:TextBox ID="questionExplained" runat="server" Height="72px" TextMode="MultiLine" Width="453px"></asp:TextBox>

</ItemTemplate>
        </asp:Repeater>
</asp:WizardStep>
            <asp:WizardStep ID="WizardStep2" runat="server" title="Step 2">
and so on....



VB CODE

 For Each item As RepeaterItem In page1Repeater.Items
            Dim b As TextBox = TryCast(item.FindControl("question1Explained"), TextBox)
            Response.Write(b.Text + "<br>")
        Next

' This loops but does not return any values.

Open in new window

0
GrantBailey
Asked:
GrantBailey
  • 6
  • 5
1 Solution
 
guru_samiCommented:
did you set breakpoint and see what value are you getting for "page1Repeater.Items"?
Make sure your repeater has data items to display.
0
 
GrantBaileyAuthor Commented:
Hi guru_sami,

I do not know how to properly user the debugger. I can set the breakpoints but I do not know how to interpret the results of the debugger.
0
 
guru_samiCommented:
Say you set the breakpoint on statement like below:

For Each item As RepeaterItem In page1Repeater.Items
            Dim b As TextBox = TryCast(item.FindControl("question1Explained"), TextBox)
breakpoin here--->         Response.Write(b.Text + "<br>")
        Next

Then upon debugging:
1: does your execution stop at breakpoint statement?
2: If  it does, it means you have items for repeater to display and if Not then something going on
3: Once it stops at bp statement, you can mouse-over the Items and dig into its Count property to see how many items.

0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
GrantBaileyAuthor Commented:
guru_sami,

Ok, in the debugging the repeater is showing an item count of 8 which is the number of results bound to the repeater.
0
 
guru_samiCommented:
hmmm so when you say trouble over finding textbox...do you mean b is null or ..?

So how about the Text when you hover over b.Text while debugging...what is the value for that?
0
 
GrantBaileyAuthor Commented:
The value for b.text is showing as "" 
0
 
guru_samiCommented:
hmmm... repeater has items but tb is not retaining value...not sure exactly what's happening....
when exactly your code block executed and how's your repeater databound?
Do you have code snippet which I can use to replicate the issue?
0
 
GrantBaileyAuthor Commented:
I set up a page which show the code summary. Please take a look.
http://www.beachmerchant.com/AppTesting/repeaterCode.htm
0
 
guru_samiCommented:
Ok the repeater is databound on postback so the TB is losing the value..so modify your Page_Load like below:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 If Not Page.IsPostBack Then
    BindPage()
End If
End Sub
0
 
GrantBaileyAuthor Commented:
guru_sami is the best!
0
 
GrantBaileyAuthor Commented:
Well, I guess that show my inexperience in dotNet. Thanks so much guru_sami for your patience and help in solving my issue.

What a wonderful world this would be if everyone help their fellow man as they do here at experts exchange.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now