簡體   English   中英

如何從asp.net中的代碼調用確認消息?

[英]How to call confirm message from code behind in asp.net?

嗨,我想從asp.net中的代碼后面調用客戶端javascript確認消息。

我想使用確認消息中的true或false返回值。

我這樣做,但這不是正確的方法,請告訴我我該怎么做。

ScriptManager.RegisterStartupScript(this, this.GetType(), "myconfirm", "confirm('No Rule Type Ids found for This Rule.');", true);

我想這就是你想要實現的目標:

<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>

.aspx代碼

<asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" OnClientClick = "Confirm()"/>

C#

public void OnConfirm(object sender, EventArgs e)
{
    string confirmValue = Request.Form["confirm_value"];
    if (confirmValue == "Yes")
    {
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true);
    }
    else
    {
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true);
    }
}

而不是在后面的代碼中直接寫入確認。 寫下javascript函數的名稱。 例如,

ScriptManager.RegisterStartupScript(this, this.GetType(), "myconfirm", "OpenConfirmDialog();", true);

在你的javascript中,編寫OpenConfirmDialog函數

<script>
function OpenConfirmDialog()
{
    if (confirm('No Rule Type Ids found for This Rule.'))
    {
       //True .. do something
    }
    else
    {
       //False .. do something
    }
}

</script>

您不能將客戶端代碼與服務器端代碼混合使用。 在服務器端代碼完成之前,客戶端代碼(javascript)將不會發送到客戶端(瀏覽器)。

您需要停止處理並向用戶顯示問題(可能通過重定向到其他頁面),然后(在確認時)繼續處理。

Response.Write("<script language=javascript>");
                        Response.Write("if(confirm('El vehiculo no existe, Deseas crear el registro?')){window.location.href='IngresoVehiculos.aspx'}");
                        Response.Write("</script>");

使用:

Response.Write("<script>alert('Open Message!');</script>");

你可以不使用Javascript函數來做到這一點

嘗試

if (MessageBox.Show("confirm('No Rule Type Ids found for This Rule.')",
            "myconfirm",
            MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
        // yes
    }
    else
    {
        //No
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM