How to access Repeater FooterTemplate TextBox?
- 我要做的是访问文本框1中的值,以便在屏幕上显示出来。
- 我试图从页面load()和onitemdatabound访问它,但都失败了。
似乎代码能够访问控件,但它没有返回任何内容。
受保护的空页加载(对象发送程序,事件参数e){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Literal Literal1 = (Literal)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl("Literal1");
Response.Write(Literal1.Text);
//this techique is not working for the line below
TextBox TextBox1 = (TextBox)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl("TextBox1");
Response.Write(TextBox1.Text);
}
public void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//this techique is not working
if (e.Item.ItemType == ListItemType.Footer)
{
TextBox TextBox1 = (TextBox)e.Item.FindControl("TextBox1");
Response.Write(TextBox1.Text);
}
}
我不知道你所说的"他们都失败了"是什么意思,但是如果文本框的文本属性是空的,我可能是因为你在每个帖子上重新绑定了中继器。尝试用包装转发器.databind()!IsPostback条件。
我必须通过传递HTML文本框问题来使用"literal"作为替代解决方案。我不喜欢这个解决方案,但我想我必须使用它。