我有一个按钮。我有一个Session [“actionMode”]。这是我在buttonClick事件中所做的:
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
}
}
正如您所看到的,如果Session [“actionMode”]的值等于3,则会删除一条记录。但在删除之前,我想提示用户确认操作。因此,如果Session [“actionMode”]的值不等于3,我不需要任何确认,因为它不会执行任何无法撤消的操作。有没有办法实现这个目标?可能是Javascript吗?
答案 0 :(得分:2)
此代码块...
{
//After confirmation delete a record
}
您正在执行服务器端代码,并且需要用户交互。
无论你做什么(客户端或服务器),你都必须拆分它。服务器端替代方案。
{
// Display a confirmation including server side controls.
}
protected void YesDeleteTheDamnRecord_Click(object sender, EventArgs e)
{
// Delete it now.
}
这是一个与客户端互动的解决方案。
- 在显示Button1之前检查“actionMode”方式的值。
- 如果它等于“3”,则将客户端事件处理程序附加到Button1.OnClientClick。
- 显示确认(可能是window.confirm)
- 如果用户点击“是”,则执行服务器端代码并删除记录。
答案 1 :(得分:1)
我建议您使用以下方法删除.....
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;
}
}
Ajax页面:
PageLoad
{
Get Session["actionMode"] Value
Do your Delete here...
}