All die Möglichkeiten, die ich denken kann, um dies zu tun, scheinen sehr hackish. Was ist der richtige Weg, um dies zu tun, oder zumindest am häufigsten?Zugriff auf Textfelder in Repeater Control
Ich bin eine Reihe von Bildern aus einer LINQ-zu-SQL-Abfrage abrufen und es und einige andere Daten zu einem Repeater Databinding. Ich muss jedem Element im Repeater ein Textfeld hinzufügen, mit dem der Benutzer den Titel jedes Bildes ändern kann, ähnlich wie Flickr.
Wie greife ich auf die Textfelder im Repeater-Steuerelement zu und weiß, zu welchem Bild dieses Textfeld gehört? Hier
ist, was die Wiederholungssteuerung aussehen würde, mit einem Submit-Button, der alle Bildzeilen in Linq-to-SQL aktualisieren würde:
alt text http://casonclagg.com/layout.jpg
Edit:
Dieser Code funktioniert
Nur stellen Sie sicher, dass Sie nicht Ihre Werte durch Binding outs blasen de von wenn (! Page.IsPostBack) wie ich .. Ups.
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="itemBox">
<div class="imgclass">
<a title='<%# Eval("Name") %>' href='<%# Eval("Path") %>' rel="gallery">
<img alt='<%# Eval("Name") %>' src='<%# Eval("Path") %>' width="260" />
</a>
</div>
<asp:TextBox ID="TextBox1" Width="230px" runat="server"></asp:TextBox>
</div>
</ItemTemplate>
</asp:Repeater>
und senden Click:
protected void Button1_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in Repeater1.Items)
{
TextBox txtName = (TextBox)item.FindControl("TextBox1");
if (txtName != null)
{
string val = txtName.Text;
//do something with val
}
}
}
Versuchen Sie auf die Textfelder auf dem Client oder auf dem Server nach einem Postback zuzugreifen? –
Server in Submit_Click – Jason