5

コード ビハインドから JavaScript 確認ボックスを実装したいと考えています。

私の要件は、差分機能を実装する必要がある結果に基づいて、確認ボックスを上げる必要があるメソッドにあります

例えば;

確認ボックスの OK の場合は、税を追加します

キャンセルの場合は税金を追加しないでください

私はこのようなことを試みていますが、それは私を助けていません

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "confirm('Add tax');", true);

誰でも助けることができます。

私のサンプルコードは

protected void Button1_Click(object sender, EventArgs e)
{
    Double mrp = 200.00;

    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "return confirm('Add Tax');", true);
    if (Confirm == "Ok")
    {
        //Add tax to mrp
    }
    else
    {
        //No tax for mrp
    }
}

ありがとうございました..

4

3 に答える 3

6

あなたはこのように試すことができます.:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type = "text/javascript">
        function Confirm() {
            var confirm_value = document.createElement("INPUT");
            confirm_value.type = "hidden";
            confirm_value.name = "confirm_value";
            if (confirm("Do you want to save data?")) {
                confirm_value.value = "Yes";
            } else {
                confirm_value.value = "No";
            }
            document.forms[0].appendChild(confirm_value);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
      <asp:Button ID="btnConfirm" runat="server"
                  OnClientClick = "Confirm()"
                  OnClick="OnConfirm" 
                  Text="Raise Confirm"/>
    </form>
</body>
</html>

ユーザー入力サーバー側の取得

サーバー側では、動的非表示フィールドに保存したユーザー入力を取得する必要があります。次に、ユーザーが [OK] または [キャンセル] を選択したかどうかに基づいて、別のコードを実行する必要があります。

public void OnConfirm(object sender, EventArgs e)
{
    string confirmValue = Request.Form["confirm_value"];
    if (confirmValue == "Yes")
    {
        //Your logic for OK button
    }
    else
    {
        //Your logic for cancel button
    }
}

サーバー側から(コード ビハインド) はい いいえ ASP.Net の確認メッセージ ボックス

于 2013-03-28T06:59:00.570 に答える
2

ScrptManager 次のように 使用できます。

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "return confirm('Your massage to be Displayed.');", true);  

詳細については、このリンクを参照してください。

または、このように試すこともできます。

ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "if(confirm('Sorry, but there is already a Primary Stakeholder assigned to this ticket. Would you like to replace the existing data?')){alert('OK');}else{alert('cancel');}",true);

上記のコードでは、ユーザーがボタンを押すと、 OKOKというメッセージが表示されたアラートボックスが表示されます。それ以外の場合は、Cancelというメッセージが表示されたアラートボックスが表示されます。

ScriptManager.RegisterClientScriptBlock(this, GetType(), "__Mensagem", "if (confirm('" + CustomMessage+ "')){$(\"#" + btnSave.ClientID + "\").click();}", true); 

これを試すことができますか。この場合、confirm が true を返すと、ボタンのクリック イベントが返されます。

于 2013-03-28T05:45:01.953 に答える
0

以下を試してください:

Double mrp = 200.00;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("var x=''; var r=confirm('Press a button!');");
sb.Append("if (r==true){alert('ok'); x='" + mrp + "';}");
sb.Append("else{ alert('cancel');}");
sb.Append("document.getElementById('demo').innerHTML=x;");
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", sb.ToString(), true);

aspx ページ:

<p id="demo"></p>
于 2013-03-28T06:13:11.330 に答える