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

Javascript ASP.NET-仅在需要时提示确认,javascript,asp.net,Javascript,Asp.net,我有一个钮扣。我有一个会话[“actionMode”]。下面是我在按钮单击事件中的操作: protected void Button1_Click(object sender, EventArgs e) { if ((int)Session["actionMode"]==1) { //Do something } else if ((int)Session["actionMode"]==3) { //After confirma

我有一个钮扣。我有一个会话[“actionMode”]。下面是我在按钮单击事件中的操作:

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
    }

}
如您所见,若会话[“actionMode”]的值等于3,则会删除记录。但在删除之前,我想提示用户确认操作。所以,若会话[“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.
}
这里有一个客户端交互的解决方案

  • 在显示按钮1之前,检查“actionMode”方式的值
  • 如果它等于“3”,则将客户端事件处理程序附加到Button1.OnClientClick
  • 显示确认(window.confirm)
  • 如果用户单击“是”,则执行服务器端代码并删除记录

我建议您使用以下方法删除

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...
  }
Ajax页面:

function callAjax()
{
   if(confirm(do you want to delete data?))
   {
     call Ajax Page
   }
   else
   {
     return;
   }
}
  PageLoad
  {
    Get Session["actionMode"] Value
    Do your Delete here...
  }

是否可以在按钮渲染时间上使用
actionMode
mode值?或者只有在单击按钮时才需要检查它?actionMode是会话对象中保存的变量。所以我猜它在按钮渲染上是可用的。点击按钮时我需要检查一下谢谢。Chozumun muhteshem!!。:)