Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Using AutoPostBack with a TextBox in a Repeater

2 views
Skip to first unread message

Nathan Sokalski

unread,
Oct 3, 2009, 1:07:29 PM10/3/09
to
I have a Repeater who's ItemTemplate contains a TextBox that has
AutoPostBack set to True. However, I am not sure where to handle this
postback. When I have a Button in the ItemTemplate, I simply use the
Repeater's ItemCommand event handler, but this event handler is not
triggered for what would normally be the TextBox's TextChanged event. Can
someone help me figure out how to handle this postback? Any help would be
appreciated. Thanks.
--
Nathan Sokalski
njsok...@hotmail.com
http://www.nathansokalski.com/


Patrice

unread,
Oct 3, 2009, 1:31:26 PM10/3/09
to
Note sure to understand the problem. As you said it should be textbox
TextChanged event... Have you tried to handle this event ? At which point
are you stuck ? (you don't know where to start or you tried something and it
doesn't work ?)

BTW, which programming language do you use ? (lloks you'll need a sample)

--
Patrice
"Nathan Sokalski" <njsok...@hotmail.com> a �crit dans le message de
news:OX8p9vER...@TK2MSFTNGP04.phx.gbl...

Phil Harvey

unread,
Oct 3, 2009, 2:37:01 PM10/3/09
to
Hi Nathan,

A simple solution to this problem is to handle the TextChanged event on the
TextBox.

In your repeater, set the OnTextChanged property to an event handler method
in your code-behind.

<asp:Repeater ID="rptData" runat="server">
<ItemTemplate>
<asp:TextBox runat="server" Text=<%#
Container.DataItem.ToString() %> OnTextChanged="TextChanged"
AutoPostBack="true" />
</ItemTemplate>
</asp:Repeater>

In your code behind, have something like the following (I hope c# is ok).

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string[] data = new string[] { "s1", "s2" };
this.rptData.DataSource = data;
this.rptData.DataBind();
}
}

protected void TextChanged(object sender, EventArgs e)
{
TextBox textbox = sender as TextBox;
Debug.WriteLine("New text: " + textbox.Text);
}

Remember to only Databind the repeater if the request is not a postback,
otherwise the TextChanged won't be fired and the new value will be lost.

Regards,

--
Phil Harvey
www.anotherblog.com

Nathan Sokalski

unread,
Oct 3, 2009, 7:10:55 PM10/3/09
to
I had thought of that, but I didn't think it would work, since the TextBox
was inside the Repeater and was not available in the list of controls in the
codebehind in Visual Studio. But I have tried it now, since I have been told
that it did work, and thanks to you, it did! Yes, I guess I do have to plead
guilty of thinking of something and not trying it, so I guess I've learned
my lesson. Thanks.

"Phil Harvey" <PhilH...@discussions.microsoft.com> wrote in message
news:5D4B1F50-58D2-465B...@microsoft.com...

Hyseni@discussions.microsoft.com Enis Hyseni

unread,
Oct 16, 2009, 3:48:01 AM10/16/09
to
Nathan Sokalski did you ever solved the problem that you had, because I`m
stucked at that.

If you did please tell mehow can I do that?

0 new messages