Repeater控件的几点应用望指教
1:Repeater有个OnItemCommand事件,但是需要在Repeater里面的table或li标签里面放置一个服务器端按钮控件才可以触发,如果我直接点击行就触发这个事件?
2:Repeater有个OnItemDataBound事件,我想通过这个方法来实现展示的数据有光棒效果,但是实现出来后发现必须设置一<Tr>标签一个ID才可以是否还有其他方法
//这个是我实现的光棒效果protected void rep_data_ItemDataBound(object sender, RepeaterItemEventArgs e) { //row是前台<TR>标签的ID号 HtmlTableRow row = (HtmlTableRow)e.Item.FindControl("row"); if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { CommFun.RowOnMouse(row);//光棒效果 } }
web页面Repeater的部分代码<ItemTemplate> <tr runat="server" onclick="do_show(this)" name='<%# GetClientID(Container)%>'> <td style="display:none;"> <asp:Button ID="btn_1" runat="server" CommandArgument='<%# Eval("Tb_Name")%>' /> </td> </tr></ItemTemplate> //点击行调用后台事件rep_data_ItemCommand function do_show(obj) { document.getElementById(obj.name).click(); }后台页面 /// 获取服务器端的ID protected string GetClientID(Control ctrl) { string btnClientID = ctrl.FindControl("btn_1").UniqueID; return btnClientID; }