asp.net中如何通过循环获取datalist内多个textbox的值!

ginerll 2010-01-14 03:10:44
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table style="width:131%; height: 291px;">
<tr>
<td class="style2">
昵称:</td>
<td class="style3">
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("U_Name") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
性别:</td>
<td class="style3">
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>男</asp:ListItem>
<asp:ListItem>女</asp:ListItem>
</asp:DropDownList>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
住址:</td>
<td class="style3">
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("U_Address") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
邮箱:</td>
<td class="style3">
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("U_Mail") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
电话:</td>
<td class="style3">
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Eval("U_Phone") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
传真:</td>
<td class="style3">
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Eval("U_Fax") %>' ></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
头像:</td>
<td class="style3">
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Eval("U_AvatarShowID") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
生日</td>
<td class="style3">
<asp:TextBox ID="TextBox7" runat="server" Text='<%# Eval("U_BDay") %>'></asp:TextBox>
</td>
<td>
 </td>
</tr>
<tr>
<td class="style2">
个性签名:</td>
<td class="style3">
<asp:TextBox ID="TextBox8" runat="server" Text='<%# Eval("U_Sigstatus") %>'
Height="42px" TextMode="MultiLine" Width="294px"></asp:TextBox>
</td>
<td>
 </td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>

以上是我datalist 我想通过一个Button按钮在后台通过一个循环获取datalist里所有textbox的值 但是不知道如何下手
...全文
509 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小鹏 2010-01-19
  • 打赏
  • 举报
回复
使用for语句,操作与gridview操作类似
wuyq11 2010-01-16
  • 打赏
  • 举报
回复

foreach(DataListItem item in DataList1.Items)
{
for(int i=0;i<9;i+)
Textbox txt=item.FindControl("TextBox"+i.ToString()) as Textbox ;
}
zhouwei7682719 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xray2005 的回复:]
for(int i=1;i <=8;i++)
{
  TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox;
  if(txt!=null)
  {
      string value=txt.Text;//取值
  }
}
[/Quote] 不用获取得,你 后台不是有绑定的方法吗,直接遍历那个dataSet就可以了!
gablfq 2010-01-15
  • 打赏
  • 举报
回复
string name = "";
for (int i = 0; i < DataList1.Items.Count; i++)
{
for (int j = 0; j < DataList1.Items[i].Controls.Count; j++)
{
if ("TextBox".Equals(DataList1.Items[i].Controls[j].GetType().Name))
{
name = (DataList1.Items[i].Controls[j] as TextBox).Text;

}
}
}
ginerll 2010-01-14
  • 打赏
  • 举报
回复
TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox; 这个获取的是空值


string name = (DataList1.Items[0].FindControl("TextBox1") as TextBox).Text;
我原先是这样写的 可以获取第一个值 但是我必须要通过循环才能获取其他textbox的值
antony1029 2010-01-14
  • 打赏
  • 举报
回复
TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox;
mzjmicrosoft 2010-01-14
  • 打赏
  • 举报
回复

protected void Button1_Click(object sender, EventArgs e)
{
datalist1.FindControl("Id");
}
xray2005 2010-01-14
  • 打赏
  • 举报
回复
for(int i=1;i<=8;i++)
{
TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox;
if(txt!=null)
{
string value=txt.Text;//取值
}
}

62,254

社区成员

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

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

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

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