Я бы порекомендовал для этого подклассы стандартного кнопочного элемента управления, чтобы вы могли снова использовать код в будущем.
namespace MyApp.Controls
{
public class PromptButton
{
public string Prompt { get; set; }
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (!string.IsNullOrEmpty(Prompt))
{
// Escape apostrophe's in the prompt message
string safePrompt = Prompt.Replace("'", "\'");
// Add the onClick to show the alert box when clicked
Attributes.Add("onClick", string.Format("return confirm('{0}')", safePrompt));
}
}
}
}
Как только вы это сделаете, вы можете добавить ссылку вверху страницы ASPX или в web.config:
<%@ Register Assembly="MyAssembly" Namespace="MyApp.Controls" TagPrefix="app" %>
На своей странице вы должны использовать следующее:
<app:PromptButton ID="PromptButton1" Prompt="Are you sure?" OnClick="PromptButton1_Click" runat="server" />
Это приведет к отображению диалогового окна подтверждения Javascript, и если пользователь нажмет «ОК», произойдет обратная передача. Если пользователь нажмет кнопку «Отмена», ничего не произойдет.
Это немного больше работы с самого начала, но код гораздо более пригоден для повторного использования, и даже может быть перемещен в отдельную библиотеку и использоваться в нескольких проектах.