asp.net中在repeater 控件的模板中添加了button控件,在显示的多行中,如何用每行button来确定每行的id

asp.net中在repeater控件的模板中添加了button控件,在显示的多行中,如何用每行button来确定每行的id... asp.net中在repeater 控件的模板中添加了button控件,在显示的多行中,如何用每行button来确定每行的id 展开
 我来答
陈伟场
2012-07-27 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:170万
展开全部
首先你的发生事件需要写在ItemCommand里面.这是无可厚非的。
其次由于repeater由于自定义性强,不带有系统任意功能。所以你只能通过寻找控件的方式确定你每行的点击的ID。
可以设置一个隐藏域例如<asp:lable id='lid' runat="sever" text='<%# eval("id")>' />
在ItemCommand事件里你可以实例化一个 label 使得这个label等同于 存储id的控件
写法为label lb= e.item.findControl("lid") as label
然后拿出text值就行了
wukongabc_123
2012-07-29 · TA获得超过922个赞
知道小有建树答主
回答量:194
采纳率:100%
帮助的人:73.9万
展开全部
通常有两种方式:
1.添加比如label等控件,将id信息绑定上来
<asp:Label ID="lblid" Text='<%#Eval("id")%>' runat="server"></asp: Label>
然后在ItemCommand事件绑定的方法中用这样的语句调用:
int id=int.Parse(((Label)e.Item.FindControl("lblid")).Text);
2.将Id信息写到Button的CommandArgument
<asp: Button ID="btnSubmit" runat="server" CommandArgument='<%#Eval("id")%>'></asp: Button>
然后在ItemCommand事件绑定的方法中用这样的语句调用:

int id=int.Parse( ((Button)e.CommandSource).CommandArgument);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式