ASP.NET - 仅在需要时提示确认



我有一个按钮。我有一个会话["操作模式"]。这是我在按钮单击事件中所做的:

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...
  }

最新更新