如何取得Repeater模板中的textbox的值

hbzy123 2006-03-22 05:47:13
<form id="Form1" method="post" runat="server">
<asp:repeater id="Repeater1" runat="server">
<HeaderTemplate>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox id="Textbox2" runat="server"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="Textbox3" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:repeater></form>
-----------------------
如何取得REPEATE中的TEXTBOX1,textbox2,textbox3的值
...全文
401 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbwf 2006-03-22
  • 打赏
  • 举报
回复

private void Button1_Click(object sender, System.EventArgs e)
{
if(e.ItemType==ListItemType.Item||e.ItemType==ListItemType.AlternatingItem
{
TextBox textBox= ( TextBox)e.Item.FindControl( "TextBox1" );}
}
hbzy123 2006-03-22
  • 打赏
  • 举报
回复
小光,可不可在button按纽的时间中取道TEXTBOX的值呢?
forkzeng 2006-03-22
  • 打赏
  • 举报
回复
主要DataCreate,DataBound,ItemCommand这几个事件,估计你是需要的是ItemComand事件.这几个事件取得的时机有所不同.
e.Item.FindControl (...) 一般用于ItemCreate,ItemBound取得的其实是Item Collection,具有一定的宏观性.
e.Cells.FindControl( ...) (这个函数好象记错了),这个函象找到的是同行(Index),某个元件.

使用哪个看自己实际需要.....


}
boy_north 2006-03-22
  • 打赏
  • 举报
回复
楼上的方法就可以实现了
artak 2006-03-22
  • 打赏
  • 举报
回复
public void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{

if(e.ItemType==ListItemType.Item||e.ItemType==ListItemType.AlternatingItem
{
TextBox textBox= ( TextBox)e.Item.FindControl( "TextBox1" );}


// textBox.Text
}

hbzy123 2006-03-22
  • 打赏
  • 举报
回复
二楼的:
“/JS”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 67: {
行 68: TextBox tb=e.Item.FindControl("TextBox1") as TextBox;
行 69: Response.Write(tb.Text);
行 70: }
行 71: }


源文件: c:\inetpub\wwwroot\js\webform1.aspx.cs 行: 69

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
JS.WebForm1.Repeater1_ItemDataBound(Object sender, RepeaterItemEventArgs e) in c:\inetpub\wwwroot\js\webform1.aspx.cs:69
System.Web.UI.WebControls.Repeater.OnItemDataBound(RepeaterItemEventArgs e)
System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
System.Web.UI.WebControls.Repeater.DataBind()
JS.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\js\webform1.aspx.cs:29
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


hbzy123 2006-03-22
  • 打赏
  • 举报
回复
怎么在BUTTON按纽中取的值呢?
pgy8288 2006-03-22
  • 打赏
  • 举报
回复
不用说了
SysPlus 2006-03-22
  • 打赏
  • 举报
回复
public void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{

TextBox textBox= ( TextBox)e.Item.FindControl( "TextBox1" );


// textBox.Text
}

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧