3

asp.net Web アプリケーションで以下のメッセージ ボックスを使用しています。今、私はこのメッセージボックスを確認メッセージボックスとして変換し、それが真の場合に何かをしたいのですが、それ以外の場合はアプリケーションを拒否することを意味します.

   ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Are you sure, you want to apply?');</script>", false);
4

8 に答える 8

6

あなたはこれについて間違った方法で進んでいると思います。ポストバックする前にこの確認を表示し、「適用」を選択した場合にのみポストバックする必要があります。

ASP.NET Web コントロールを使用すると、Buttonコントロールには、OnClientClickHttp POST の前に JavaScript を呼び出すために使用できるプロパティがあります。

次のようなことができます。

<asp:button id="btn"
            runat="server"
            Text="Apply"
            OnClientClick="return confirm('Are you sure you wish to apply?');"
            OnClick="btn_Click" />
于 2012-08-08T09:19:42.360 に答える
2

アラートの代わりに以下のスクリプトを登録します

<script type="text/javascript">
var r=confirm("Are you sure you are sure?")
if (r==true)
{
  //You pressed OK!
}
else
{
  //You pressed Cancel!
}
</script>
于 2012-08-08T09:19:43.187 に答える
0

これを完全に C# 内で行うには、次のようにします。

    protected override void OnInit(EventArgs e)
    {  
        AddConfirmationButton();   
        base.OnInit(e);
    }

    private void AddConfirmationButton()
    {   
        Button confirmButton = new Button();
        confirmButton.Text = "Action Foo";
        string confirmationMessage = "Are you sure you wish to do action Foo?";
        confirmButton.OnClientClick = "return confirm('" + confirmationMessage + "');";
        confirmButton.Command += confirmButton_Command;

        Controls.Add(confirmButton);

    }

    void confirmationMessage_Command(object sender, CommandEventArgs e)
    {
        DoActionFoo();   //work your magic here.
    }

これにより、Web ページからユーザーに [OK/キャンセル] ダイアログ ボックスが表示されます。ユーザーが [OK] をクリックすると、コマンド Event の関数が起動します。ユーザーが「キャンセル」をクリックしても、何も起こりません。

于 2013-07-03T15:38:41.167 に答える
0

OnClientClickユーザーがボタンをクリックしたときのイベントでこのコードチェックを試してください

<script type="text/javascript">
      function check()
     {          
        var chk =confirm("Are you sure you are sure?")
        if (chk==true)
        {
            // try you want
        }
        else
        {
            // try you do not want
        }
       return true;
     }

</script>        

 <asp:button id="Button1"
        runat="server"
        Text="Button1"
        OnClientClick="return check();"/>
于 2012-08-08T09:44:36.157 に答える
0

これを試して

これをcsファイルに追加して、confirm代わりにaを表示しますalert

string confirm = 
"if(confirm('Are you surely want to do this ??')) __doPostBack('', 'confirmed');";
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", confirm, true);

これを同じページに追加して、ユーザーがその確認ボックスからいつ来るかを確認します

protected void Page_Load(object sender, EventArgs e)
{
    string parameter = Request["__EVENTARGUMENT"];
    if (string.Equals("confirmed", 
                        parameter, 
                        StringComparison.InvariantCultureIgnoreCase))
    {
        // Call your server side method here
    }
}

これについては、ここ__doPostBackから詳細を学ぶことができます。それがあなたを助けることを願っています

于 2012-08-08T09:37:26.990 に答える
0
ScriptManager.RegisterStartupScript(page,this.GetType(), "temp","javascript:calopen();
",true);

function calopen()    
{    
    if (confirm("Are you sure?"+'\n'+"Are you want to delete"))    
    {   
        enter code here    
    }
    else   
    {   
        return false;
    }    
}
于 2013-07-17T05:03:48.023 に答える
0

確認ボックスに相当する JavaScript は、confirm() メソッドです。このメソッドは、ユーザーの「OK」または「キャンセル」ボタンの応答に応じて、true または false の値を返します。

使用法:

var confirmed = confirm('Are you sure?','Are you sure you want to delete this item?');

if(confirmed){
  //do something
} else {
  //do something else
}
于 2012-08-08T09:20:13.160 に答える