前台:
<SCRIPT LANGUAGE="JavaScript">
<!--
function confirm_del(UserName)
{
return confirm('您确定要删除“' + UserName + '”吗?');
}
//-->
</SCRIPT>
<asp:Repeater id="repGuestbook" runat="server">
<ItemTemplate>
....
....
<asp:LinkButton id="DelButton" runat="server" OnCommand="Del_Click" CommandName="Del" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>'>删除留言</asp:LinkButton>
....
....
</ItemTemplate>
</asp:Repeater>
代码页面:
private void InitializeComponent()
{
....
this.Rp1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
....
}
private void Repeater1_ItemDataBound(object source, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item)
{
LinkButton lb=(LinkButton)e.Item.FindControl("MyLB");
lb.Attributes["onClick"]="JavaScript:return confirm_del('" + DataBinder.Eval(e.Item.DataItem, "UserName") +"');return false;";
// lb.Attributes["onClick"]="JavaScript:return confirm_del('" + ((DataRowView)(e.Item.DataItem))["UserName"] +"');return false;";
}
}
上面的 onClick的实现演示了两种实现的办法。(第一种被注释掉了。)
实际应用的时候只需要一种就可以了。
DataBinder.Eval(e.Item.DataItem, "UserName") 这种方法使用简单。
((DataRowView)(e.Item.DataItem))["UserName"] 这种方法执行效率高。