Solved

find control in repeater

Posted on 2010-09-09
11
467 Views
Last Modified: 2012-06-27
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
Comment
Question by:GrantBailey
  • 6
  • 5
11 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 33637824
did you set breakpoint and see what value are you getting for "page1Repeater.Items"?
Make sure your repeater has data items to display.
0
 

Author Comment

by:GrantBailey
ID: 33640110
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
 
LVL 41

Expert Comment

by:guru_sami
ID: 33640165
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
 

Author Comment

by:GrantBailey
ID: 33640363
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
 
LVL 41

Expert Comment

by:guru_sami
ID: 33641099
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
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:GrantBailey
ID: 33641198
The value for b.text is showing as ""
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 33641975
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
 

Author Comment

by:GrantBailey
ID: 33642278
I set up a page which show the code summary. Please take a look.
http://www.beachmerchant.com/AppTesting/repeaterCode.htm
0
 
LVL 41

Accepted Solution

by:
guru_sami earned 500 total points
ID: 33642411
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
 

Author Closing Comment

by:GrantBailey
ID: 33648332
guru_sami is the best!
0
 

Author Comment

by:GrantBailey
ID: 33648334
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

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This video discusses moving either the default database or any database to a new volume.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now