0

javascriptアラートボックスからコードビハインドcalを作成する方法はありますか. グリッド ビューでボタンを使用しています。それをクリックすると..確認ボックスに警告が表示され、後でコードビハインド機能へのキャリブレーションが行われます。これは、コード ビハインド cal の一部です。

protected void GridView1_RowDataBound(object source, GridViewRowEventArgs e)
{
    ......
    btnAlertStatus.Attributes.Add("onclick", "javascript:if(confirm('Are you sure you want to send an email " + ID+ " ?') == true) EmailTest(ID); ");
    ......
}

protected void EmailTest(int ID)
{
}

この方法では、send_Email にアクセスできません....rowboundevent でこの関数を呼び出すより良い方法はありますか

4

3 に答える 3

1

JavaScriptクライアント上で実行されます。

ASP.NET (CodeBehind)サーバー上で実行されます

サーバー上に存在するメソッドをクライアントから直接実行することはできません。一般的に行うことは、サーバーにメソッドを実行してから結果をクライアントに返すように指示する新しい要求を行うことです。

あなたの場合、アラートボックスが閉じられたときにリッスンしてpostbackから、サーバーに対して a を実行します。@Kek が提案したように ajax を使用することもできます。これを行うには、jQuery または ASP.NET Ajax を参照してください。

于 2012-08-10T07:04:51.810 に答える
1

を使用できますWebMethod。 「 jQuery を使用して ASP.NET AJAX ページ メソッドを直接呼び出す」をご覧ください。

于 2012-08-10T07:09:32.767 に答える
0

できますが、ajaxまたはJqueryを使用する必要があります

コードビハインドでこのテストメソッドを作成します

[System.Web.Services.WebMethod]
public static string SayHi()
{
    return "Hi";
}

次に、フォームタグのすぐ下にあるaspxページで追加します

<asp:ScriptManager ID="scriptManager" EnablePageMethods="true" runat="server"/>

次に、このコードを aspx ページにも追加します

<script>
        function GetHi() {

            PageMethods.SayHi(onComplete);
        }

        function onComplete(result) {
            alert(result);
        }

        GetHi();
</script>
于 2012-08-10T07:07:58.000 に答える