5

asp.net/C# は初めてです。Web アプリケーションを作成しようとしています。

以下は私の要件です。

ボタンのクリックでレコードを保存しようとしています。レコードを保存する前に、そのレコードがデータベースに存在するかどうか (コード ビハインド) を確認します。存在する場合は、ユーザーに「レコードが既に存在します。続行しますか?」というアラートを表示する必要があります。 ?"ユーザーが [はい] を押したら、コード内のレコードの保存を続行する必要があります。それ以外の場合は、保存プロセスを終了するだけです。

//......code for checking the existence of the record    
if (check == true)
{            
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", " confirm('Record already exist.Do you want to proceed?');", true);
}
//

上記のコードは、「OK」ボタンと「キャンセル」ボタンのある確認ボックスを示しています。私の質問は

  1. 確認ダイアログで「はい」または「いいえ」にするにはどうすればよいですか?
  2. ユーザーが「はい」/「いいえ」を押した後、どうすれば応答(はい/いいえ)をキャッチして、プログラムの残りの部分を続行できますか?

いろいろ調べましたが、適切な回答が得られませんでした。助けてください。

4

5 に答える 5

3

これはさまざまな方法で行うことができます。

1 つは、ページにボタンを配置し、その display:none を作成し、confirm が true の場合、js でクリックをトリガーすることです。

aspxのように

<asp:Button runat="server" ID="btnSaveData" 
     onClick="btnSaveData_Click" style="display:none;" />

クライアント側で、次のような確認ダイアログボックスを呼び出すためのjs関数を作成します

function ConfirmSave()
{
   if(confirm('Record already exist.Do you want to proceed?')
   {
       jQuery("[ID$=btnSaveData]").click();
   }

}

コードビハインドで

イベントハンドラーでのコードチェック

if (check == true)
{            
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", 
      "ConfirmSave();", true);
}

bthSaveData データを保存するためのクリック ハンドラ。

protected void btnSaveData_Click(object sender, EventArgs e)
{
 // Code for your saving.
}
于 2012-07-25T06:07:56.483 に答える
2

このようにJSで確認ボックスを使用できます

var ans = confirm ('Record already exist.Do you want to proceed?');
if(ans==true)
{
}
else
{
}

次に、コード ビハインドで応答を取得するには、Yes/No の値を隠しフィールドに格納します。

document.getElementById('<%= hiddenField.ClientID %>').value = ans;
于 2012-07-25T05:59:37.697 に答える
0

回避策の1つは、ユーザーの選択(Yes / No)に応じて、属性runat="server"を持つコントロールにTRUE/FALSEフラグを格納することです。そして、バックエンドで、このコントロールの値を確認できます。

于 2012-07-25T06:00:59.600 に答える
0

このリンクhttp://www.codeproject.com/Articles/8173/A-Simple-ASP-NET-Server-Control-Message-Box-Confirをご覧ください。

さらに、独自のカスタム確認ボックスを作成できます。

于 2012-07-25T05:59:21.160 に答える
0

modalpopupextender で AJAX ツールキットを使用します。

   <cc1:modalpopupextender id="ModalPopupExtender1" runat="server"  cancelcontrolid="ButtonNo" okcontrolid="ButtonYes" popupcontrolid="PNL" targetcontrolid="UrSaveButton">
   </cc1:modalpopupextender>  
   <asp:Panel ID="PNL" runat="server" Style="display: none; width: 200px; background-color: #000099; border-width: 2px; border-color: Black; border-style: solid; padding: 20px;">
     <span style="color: White; font-weight: bold">Record already exist.Do you want to proceed?</span>
       <br />
        <br />
            <div style="text-align: right;">
                <asp:Button CssClass="tbl_blue" ID="ButtonYes" runat="server" CausesValidation="false" EnableTheming="false" Text="YES" />
                <asp:Button CssClass="tbl_blue" ID="ButtonNo" runat="server" CausesValidation="false" EnableTheming="false" Text="NO" />
             </div>
  </asp:Panel>

必要に応じてカスタマイズできます。

于 2012-07-25T06:08:13.147 に答える