62,046
社区成员
发帖
与我相关
我的任务
分享
var btn = ctl.FindControl("Button1");
去获取它。你也可以使用 var item = (RepeaterItem)ctl.NamingContainer;
等方式来获取容器控件。这些虽然绕,但是也都是普通的 asp.net 知识范畴,都是按照原理来设计程序的思路。<a runat="server" onserverclick="abc_ServerClick" my-data-key='<% #Eval("field_name") %>'>选择</a>
protected void abc_ServerClick(object sender, EventArgs e)
{
var ctl = (HtmlAnchor)sender;
var key = ctl.Attributes["my-data-key"];
.......
}
这里,把数据源中的一个字段 field_name 绑定到链接上,然后在链接被点击时,直接从服务器端事件中把所绑定的字段值取出来了。
根本不用管它是放在 Repeater 控件还是别的什么控件中。把这个小事情设计明白了,放到任意的大的程序模块中也无可挑剔;相反地,纠结于 Repeater,反而不会设计出好的代码。