1

ボタンがあります。そして、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かもしれませんか?

4

2 に答える 2

2

このコードブロック...

{ 
    //After confirmation delete a record 
}

サーバー側のコードを実行しており、ユーザーの操作が必要です。

何をするにしても(クライアントまたはサーバー)、これを分割する必要があります。サーバー側の代替。

{ 
    // Display a confirmation including server side controls.
}

protected void YesDeleteTheDamnRecord_Click(object sender, EventArgs e)
{
    // Delete it now.
}

そして、これはクライアント側の対話による 1 つのソリューションです。

  • Button1 を表示する前に「actionMode」の値を確認します。
  • 「3」に等しい場合は、クライアント側のイベント ハンドラーを Button1.OnClientClick にアタッチします。
  • 確認表示 (window.confirm かな)
  • ユーザーが [はい] をクリックすると、サーバー側のコードが実行され、レコードが削除されます。
于 2012-10-06T10:46:57.927 に答える
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...
  }
于 2012-10-06T11:04:03.580 に答える