我有一个按钮。我有一个会话["操作模式"]。这是我在按钮单击事件中所做的:
protected void Button1_Click(object sender, EventArgs e)
{
if ((int)Session["actionMode"]==1)
{
//Do something
}
else if ((int)Session["actionMode"]==3)
{
//After confirmation delete a record
}
}
如您所见,如果会话["操作模式"]的值等于3,则删除记录。但在删除之前,我想提示用户确认操作。因此,如果 Session["actionMode"] 的值不等于 3,我不需要任何确认,因为它不会执行任何无法撤消的操作。有没有办法实现这一点?也许是Javascript?
这个代码块...
{
//After confirmation delete a record
}
您正在执行服务器端代码,并且需要用户交互。
无论你做什么(客户端或服务器),你都必须拆分它。服务器端替代方案。
{
// Display a confirmation including server side controls.
}
protected void YesDeleteTheDamnRecord_Click(object sender, EventArgs e)
{
// Delete it now.
}
这是客户端交互的一种解决方案。
- 在显示 Button1 之前检查"动作模式"方式的值。
- 如果它等于"3",则将客户端事件处理程序附加到 Button1.OnClientClick。
- 显示确认(窗口。
- 如果用户单击"是",请执行服务器端代码并删除记录。
我建议您使用以下方法进行删除.....
protected void Button1_Click(object sender, EventArgs e)
{
if ((int)Session["actionMode"]==1)
{
//Do something
}
else if ((int)Session["actionMode"]==3)
{
//Call Javascript Function which will call Ajax
}
}
Javascript:
function callAjax()
{
if(confirm(do you want to delete data?))
{
call Ajax Page
}
else
{
return;
}
}
阿贾克斯页面:
PageLoad
{
Get Session["actionMode"] Value
Do your Delete here...
}