小问题 多散分

wangfenfen 2009-03-17 02:51:45
怎么获取Repeater控件里的某一个值,急,急,急,跟GridView一样吗
...全文
125 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yilanwuyu123 2009-03-17
  • 打赏
  • 举报
回复
mark
村部 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 koukoujiayi 的回复:]
引用 11 楼 wangfenfen 的回复:
9楼的前辈 我在等着你的答案呢 我急啊

不用控件的名称也可以,但你要测试究竟是多少数字??
string a1 = ((Label)Repeater1.Items[index].Controls[1]).Text;
string a2 = ((Label)Repeater1.Items[index].Controls[3]).Text;
string a3 = ((Label)Repeater1.Items[index].Controls[5]).Text;

这个1,3,5要通过测试来确定,究竟排在第几位!!
[/Quote]
估计楼主也没有用Label吧。加上Label好方便点。。
koukoujiayi 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wangfenfen 的回复:]
9楼的前辈 我在等着你的答案呢 我急啊
[/Quote]
不用控件的名称也可以,但你要测试究竟是多少数字??
string a1 = ((Label)Repeater1.Items[index].Controls[1]).Text;
string a2 = ((Label)Repeater1.Items[index].Controls[3]).Text;
string a3 = ((Label)Repeater1.Items[index].Controls[5]).Text;

这个1,3,5要通过测试来确定,究竟排在第几位!!
wang355 2009-03-17
  • 打赏
  • 举报
回复
e.item.cells[0].Text
zzxap 2009-03-17
  • 打赏
  • 举报
回复
string a1 = ((Label)Repeater1.Items[index].FindControl("名称1")).Text;
string a2 = ((Label)Repeater1.Items[index].FindControl("名称2")).Text;
koukoujiayi 2009-03-17
  • 打赏
  • 举报
回复
哦!抱歉!!没太注意!!
1.首先设置行号,也即Button的CommandArgument:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
((Button)e.Item.FindControl("Button1")).CommandArgument = e.Item.ItemIndex.ToString();
}

2.设置在Repeat中Button的click事件,也即:
......
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
...........

3.
protected void Button1_Click(object sender, EventArgs e)
{
Button myButton = (Button)sender;
int index = Convert.ToInt16(myButton.CommandArgument);//获得点击的行号
string a1 = ((Label)Repeater1.Items[index].FindControl("名称1")).Text;
string a2 = ((Label)Repeater1.Items[index].FindControl("名称2")).Text;
}
看一下html代码,必定有控件名称!!
koukoujiayi 2009-03-17
  • 打赏
  • 举报
回复
哦!抱歉!!没太注意!!
1.首先设置行号,也即Button的CommandArgument:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
((Button)e.Item.FindControl("Button1")).CommandArgument = e.Item.ItemIndex.ToString();
}

2.设置在Repeat中Button的click事件,也即:
......
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
...........

3.
protected void Button1_Click(object sender, EventArgs e)
{
Button myButton = (Button)sender;
int index = Convert.ToInt16(myButton.CommandArgument);//获得点击的行号
string a1 = ((Label)Repeater1.Items[index].FindControl("名称1")).Text;
string a2 = ((Label)Repeater1.Items[index].FindControl("名称2")).Text;
}
看一下html代码,必定有控件名称!!
sxzj2008 2009-03-17
  • 打赏
  • 举报
回复
学习一下,顶
wangfenfen 2009-03-17
  • 打赏
  • 举报
回复
9楼的前辈 我在等着你的答案呢 我急啊
wangfenfen 2009-03-17
  • 打赏
  • 举报
回复
是在button按钮里获取值
koukoujiayi 2009-03-17
  • 打赏
  • 举报
回复
楼主想在什么事件中获取,不同的事件获取略有不同!!
wangfenfen 2009-03-17
  • 打赏
  • 举报
回复
我是直接绑定的 没有放控件 怎么获取值
huzi01245 2009-03-17
  • 打赏
  • 举报
回复
control = (控件類型)e.Item.FindControl(控件ID);
pdsnet 2009-03-17
  • 打赏
  • 举报
回复
方便你看 去掉了一些 html
pdsnet 2009-03-17
  • 打赏
  • 举报
回复

<asp:Repeater ID="cartlist" runat="server" OnItemCommand="cartlist_ItemCommand">

<HeaderTemplate>


<table>
<tr>
<td width="40" align="center">


<asp:CheckBox ID="Checkall" runat="server" onclick="javascript:selectall(this);" />

</td>
<td width="102" height="36" align="center" class="cart">商品编号</td>
<td width="250" align="center" class="cart">商品描述</td>
<td width="104" align="center" class="cart">购买数量</td>
<td width="90" align="center" class="cart">价格</td>
<td width="88" align="center" class="cart">商品编辑</td>
</tr>
<tr>
<td colspan="6" bgcolor="#D9D9D9" style="height: 1px"></td>
</tr>
</HeaderTemplate>
<ItemTemplate>



<asp:TextBox ID="tel4" runat="server" onkeyup="value=value.replace(/[^\d]/g,'') " Text='<%#Eval("S_count") %>'
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" maxlength="3"
style="width:20px; height:16px; border-width:1px; border-style:solid; border-color:#E3E3E3; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-style: normal;"></asp:TextBox>
</td>

<td width="20" align="center"> 套 </td>
</tr>
<tr>
<td colspan="6" bgcolor="#D9D9D9" style="height: 1px"></td>
</tr>
</table>


</td>
</tr>
</ItemTemplate>
<FooterTemplate>


</table>

</FooterTemplate>
</asp:Repeater>

pdsnet 2009-03-17
  • 打赏
  • 举报
回复

protected void cartlist_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Change")
{

TextBox lb = (TextBox)e.Item.FindControl("tel4");

if (lb.Text.Length != 0)
{
if (C_Shopping.ChangeCount(sid, Convert.ToInt32(lb.Text)))
{
bind();
}
}
else
{
ClientScript.RegisterStartupScript(GetType(), "确定", "alert('请输入正确的数字')", true);
}
}
}
}
wangfenfen 2009-03-17
  • 打赏
  • 举报
回复
大家快点回答哦 顶着有分
bsetsail 2009-03-17
  • 打赏
  • 举报
回复
control = (控件類型)e.Item.FindControl(控件ID);

62,025

社区成员

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

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

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

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