很急,Repeater3小问题!100分

zhouwei7682719 2010-05-12 09:57:27
怎么获取到我当前选中的Repeater3中的那一行的值, 比如我要删除的时候,得获取当前行的ID 怎么弄?
...全文
178 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
up 加油!
jiaxiaoguang1989 2010-05-12
  • 打赏
  • 举报
回复
Mark
zhouwei7682719 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 fengyarongaa 的回复:]
周董 好好学习 天天向上
[/Quote]你也是! 加油啊!! 你们搬出来没啊?
ycproc 2010-05-12
  • 打赏
  • 举报
回复
周董 好好学习 天天向上
宝_爸 2010-05-12
  • 打赏
  • 举报
回复
if (e.Item.ItemIndex > 0)
点击第一个item。 index是0,不会继续执行了。
zhouwei7682719 2010-05-12
  • 打赏
  • 举报
回复
哦, 不好意思, 可能是机器有点问题! 已经行了,, 哎! 我是说 怎么回事, 这样的问题都不知道做了多少了! 谢谢大家了!
zhouwei7682719 2010-05-12
  • 打赏
  • 举报
回复
<asp:Repeater ID="Repeater3" runat="server" OnItemCommand="Repeater3_ItemCommand">
<ItemTemplate>
<tr bgcolor="#FFFFFF">
<td align="center">
<asp:TextBox ID="txtID" runat="server" Height="16px" Width="12px" Text='<%#DataBinder.Eval(Container.DataItem, "Classid ")%>'
Visible="false"></asp:TextBox>
 <asp:TextBox ID="TextBox1" runat="server" Height="16px" Width="60px" Text='<%#DataBinder.Eval(Container.DataItem, "ClassName ")%>'></asp:TextBox>
</td>
<td align="center">
<asp:CheckBoxList ID="CBKLanMu" runat="server" RepeatDirection="Horizontal" onclick="changecolor(this)">
<asp:ListItem Value="HengJia">桁架</asp:ListItem>
<asp:ListItem Value="GongCheng">工程服务</asp:ListItem>
<asp:ListItem Value="XiaoGuoTu">效果图</asp:ListItem>
<asp:ListItem Value="GongChengAnLi">工程案例</asp:ListItem>
<asp:ListItem Value="ZhanLanQiCai">展览器材</asp:ListItem>
</asp:CheckBoxList>
</td>
<td align="center">
 <asp:TextBox ID="RtxtPaixu" runat="server" Height="16px" Width="66px" Text='<%#Eval("PaiXu") %>'></asp:TextBox>
</td>
<td align="center">
 <asp:TextBox ID="RtxtQXspaixu" runat="server" Height="16px" Width="66px" Text='<%#Eval("QXSpaixu") %>'></asp:TextBox>
</td>
<td align="center">
 <asp:TextBox ID="RtxtControlType" runat="server" Height="16px" Width="66px"
Text='<%#stringType(Eval("ControlType")) %>'></asp:TextBox>
</td>
<td align="center">
<asp:Button ID="Button3" runat="server" Text="保存" />
</td>
<td align="center">
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="return confirm('是否确认删除!');"
CommandName="del" CommandArgument='<%#Eval("Classid ") %>'>删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>

下面后台
protected void Repeater3_ItemCommand(object source, RepeaterCommandEventArgs e)
{
断点 if (e.Item.ItemIndex > 0)
{
if (e.CommandName.Equals("del"))
{
string aa = e.CommandArgument.ToString();
}
}
} 没有进断点。。 为什么
宝_爸 2010-05-12
  • 打赏
  • 举报
回复
我贴下完整代码吧

Html:


<div>

<asp:Repeater ID="Repeater1" runat="server" DataMember="DefaultView"
DataSourceID="SqlDataSource1" onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "ProductID")%>></asp:Label>
<asp:Label ID="Label2" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "ProductName")%>></asp:Label>

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Del" CommandArgument=<%# Eval("ProductID") %> >LinkButton</asp:LinkButton>
<br />
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [ProductID], [ProductName] FROM [Products]">
</asp:SqlDataSource>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>


CS:

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Del")
{
//e.CommandArgument就是ID的值,你可以根据这个删除数据库中的记录
}
}
ycproc 2010-05-12
  • 打赏
  • 举报
回复
你用一个lable放在前面
把ID传值给lable
再将lable设置为隐藏
你提取这行的ID就好办了啊
aluogang 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhouwei7682719 的回复:]
引用 5 楼 aluogang 的回复:
<asp:LinkButton ID="lnkDel" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'删除</asp:LinkButton>

protected void rpt_ItemCommand(object source, RepeaterComma……
[/Quote]
没执行这一块?你删除按钮不在Repeater3里面?
别样苍茫 2010-05-12
  • 打赏
  • 举报
回复
如果LZ嫌楼上的方法太麻烦 可以把这句话复制到 你删除控件的后面

<asp:Label ID="lbl_Order_Id" Visible="False" Text='<%# Eval("ID") %>' runat="server" />


后台调用

Label lableText = (Label)Repeater1.Items[e.Item.ItemIndex].FindControl("lbl_Order_Id");


取值的时候直接取它的Text 就行了。


lableText.Text
spark_wu 2010-05-12
  • 打赏
  • 举报
回复
你的删除按钮放在那里的啊

把代码贴出来
xingshungames 2010-05-12
  • 打赏
  • 举报
回复
<asp:LinkButton ID="lnkDel" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'删除</asp:LinkButton>

protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Del")
{

}
}
xingshungames 2010-05-12
  • 打赏
  • 举报
回复
<asp:LinkButton ID="lnkDel" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'删除</asp:LinkButton>

protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Del")
{

}
}
ycproc 2010-05-12
  • 打赏
  • 举报
回复
周董
想不到在这里见到你
哈哈
接分了
zhouwei7682719 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aluogang 的回复:]
<asp:LinkButton ID="lnkDel" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'删除</asp:LinkButton>

protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
i……
[/Quote]我点击删除时 没有执行这一块啊。。。。
aluogang 2010-05-12
  • 打赏
  • 举报
回复
<asp:LinkButton ID="lnkDel" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'删除</asp:LinkButton>

protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Del")
{

}
}
zhouwei7682719 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 spark_wu 的回复:]
可以吧ID数据绑定在 button 的 CommandArgument 属性上,
在后台 取出CommandArgument 的值,
[/Quote]是在那个事件中啊?
细嗅蔷薇 2010-05-12
  • 打赏
  • 举报
回复
楼上的 up
q107770540 2010-05-12
  • 打赏
  • 举报
回复
你是利用checkbox批量删除还是利用表内的单个button进行单个删除?

可以遍历Repeater3,利用findcotrol来进行操作
加载更多回复(1)

62,041

社区成员

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

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

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

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