Добавление подтверждения на отделную кнопку
<%@ Page language="c#"%>
<html>
<head>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
_myButton.Attributes.Add("onclick","return confirm('Вы уверены!');");
}
void OnMyButtonClick(object sender, EventArgs e) {
_myLabel.Text="Clicked";
}
</script>
</head>
<body>
<form runat="server">
<asp:LinkButton runat="server" id="_myButton" OnCLick="OnMyButtonClick"
Text="Click Me"/><br>
<asp:Label runat="server" id="_myLabel"/>
</form>
</body>
</html>
Добавление подтверждения на кнопку в Repeater'е
Добавление подтверждения на кнопку в DataGrid и DataList делается по аналогии.
<%@ Page language="c#"%>
<html>
<head>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
_myList.DataSource = CreateDataSource();
_myList.DataBind();
}
ArrayList CreateDataSource() {
ArrayList list = new ArrayList();
for(int i = 0; i<10; i++) {
list.Add(string.Format("item #{0}",i));
}
return list;
}
void OnMyListItemCreated(object sender, RepeaterItemEventArgs e) {
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lb = (LinkButton)e.Item.FindControl("_deleteButton");
lb.Attributes.Add("onclick","return confirm('Вы уверены!');");
}
}
void OnMyListItemCommand(object sender, RepeaterCommandEventArgs e) {
if (e.CommandName == "delete") {
_myLabel.Text = string.Format("will be deleted row #{0}",e.CommandArgument);
}
}
</script>
</head>
<body>
<form runat="server">
<asp:Repeater runat="server" id="_myList"
OnItemCreated="OnMyListItemCreated"
OnItemCommand="OnMyListItemCommand">
<ItemTemplate>
<asp:LinkButton runat="server" id="_deleteButton"
CommandName="delete"
CommandArgument="<%# Container.ItemIndex %>">
Delete
</asp:LinkButton>
</ItemTemplate>
<SeparatorTemplate>
<hr>
</SeparatorTemplate>
</asp:Repeater>
<hr>
<asp:Label runat="server" id="_myLabel"/>
</form>
</body>
</html>