how do I add textbox in a repeater

D

Dave

Well... with data in the textbox..


This did not work...

<asp:TableCell ID="Tablecell1" CssClass="lnk_results" Runat="server"
Width="35%" HorizontalAlign="Left" ColumnSpan="5">
<asp:TextBox id="TextBoxMessage" runat="server"
TextMode="MultiLine" Width="248px" Height="80px"><%#
DataBinder.Eval(Container.DataItem, "Item_Description") %></asp:TextBox>
</asp:TableCell>
 
S

Scott M.

Repeaters are for read only display of data. Better try a DataList or
DataGrid.
 
E

Eliyahu Goldin

You need to databind Text property:

Text="<%# DataBinder.Eval(Container.DataItem, "Item_Description") %>"

Eliyahu
 
B

bill screen

After 16 hours of frustration, I've managed to solve this problem for a
project I'm working on.

The 'trick' is set EnableViewState="False" for the asp:textbox inside
the Repeater control.

The problem is that by default the asp:textbox ViewState is True. This
means that the textbox value is automatically preserved between postback
(saved in the __VIEWSTATE hidden field and restored during a page
postback).

If EnableViewState="True", the FindControl finds a 'copy'
of the asp:textbox control with it's initial value; not the postback
value. The postback value (whatever you type in the textbox AFTER the
page has loaded seems to get overridden because there is already a
control in memory with your texbox name). In my case FindControl returns
the Text property of the textbox as "".

Anyway, here's the solution:

--------------------
-------------------- ASPX
--------------------
<asp:Repeater
ID="Repeater1"
EnableViewState="False"
runat="server">

<ItemTemplate>

<asp:TextBox
ID="txtFirstName"
runat="server"/>

</ItemTemplate>

</asp:Repeater>

--------------------
-------------------- C#
--------------------
foreach (RepeaterItem item in Repeater1.Items)
{
Response.Write( ((TextBox)item.Controls[1]).Text);
}

-------------------- OR

foreach (RepeaterItem item in Repeater1.Items)
{
TextBox FirstName = (TextBox)item.FindControl("txtFirstName");
Response.Write(FirstName.Text);
}

I'm using Visual Web Developer 2005 Express Edition Beta running .NET
version 2_0_50215 on Windows 2000 Professional.

Hope this helps,
Bill
(e-mail address removed)

08.16.2005
 

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

Top