簡體   English   中英

如何在asp.net中添加動態JavaScript警報框?

[英]How to add dynamic javascript alert box in asp.net?

請幫助我。我是asp.net的新手。如何在asp.net網絡表單中編寫動態javascript? 我想做的是下面的代碼。

以下代碼是用c#編寫的服務器端按鈕單擊事件。 請幫我 。

if(Email.send()){
//show javascript alert box
}else{
//show javascript alert box
}

創建您通過AJAX調用的網絡方法,然后根據該函數的結果彈出JavaScript警報。

示例(在您的.aspx頁中):

        function doSomething() {
            $.ajax({
                type: "POST",
                url: "Do_Something.aspx/DoSomething",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    alert(response);
                }
            });

在Do_Something.aspx.cs中:

    [WebMethod]
    public static string DoSomething()
    {
        if (Email.Send)
        {
            return "success";
        }
        return "not a success";
    }

使用asp.net,所有服務器端代碼都將在將Web頁發送給最終用戶之前運行,然后將該代碼的結果注入HTML / Javascript。

另外,在將服務器端代碼注入javascript時,您需要在字符串文字(引號)中進行操作。

因此,如果您使用的是javascript click handler:

if ("@Email.Send()") {
    // stuff
} else {
    // other stuff
}

Email.Send()命令將運行,該命令的結果將放置在HTML中。 如果您的Send函數返回了一個布爾值(假設是布爾值),則返回給最終用戶的HTML將如下所示:

if ("true") {
    // stuff
} else {
...

我假設這不是您想要的結果。 正確的方法是在click命令內通過AJAX觸發服務器上的另一個命令,並將該AJAX命令的結果用於您的邏輯。 它看起來像這樣:

function clickHandler() {
    $.ajax({
        type: "POST",
        url: "UrlToYourServerSideAction",
        data: {
            WebParam1: "value",
            WebParam2: "value"
        },
        success: function (response) {
            if (response == "true") {
                // code if Web Method returns true
            } else {
                // code if Web Method returns false
            }
        }
    });
}

暫無
暫無

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

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