我能想到的所有方法都很不专业。有没有正确或至少最常用的方法?
我正在从LINQ-to-SQL查询中检索一组图像,并将其和其他数据绑定到一个重复器中。我需要为重复器中的每个项目添加一个文本框,以便用户可以更改每个图像的标题,非常类似于Flickr。
如何访问重复器控件中的文本框并知道该文本框属于哪个图像?
这是重复器控件的外观,带有一个提交按钮,该按钮将更新Linq-to-SQL中的所有图像行: alt text http://casonclagg.com/layout.jpg 编辑:
此代码有效
只是确保不要像我一样在if(!Page.IsPostBack)之外进行绑定,否则可能会丢失值.. 噢。
我正在从LINQ-to-SQL查询中检索一组图像,并将其和其他数据绑定到一个重复器中。我需要为重复器中的每个项目添加一个文本框,以便用户可以更改每个图像的标题,非常类似于Flickr。
如何访问重复器控件中的文本框并知道该文本框属于哪个图像?
这是重复器控件的外观,带有一个提交按钮,该按钮将更新Linq-to-SQL中的所有图像行: alt text http://casonclagg.com/layout.jpg 编辑:
此代码有效
只是确保不要像我一样在if(!Page.IsPostBack)之外进行绑定,否则可能会丢失值.. 噢。
<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>
并点击提交:
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
}
}
}