0

私の .aspx の中には、次のような JSON コードがあります。

function someFunctionName() {
        var dataStuff = $.toJSON({
            someData: $("#someData").text(),
            someMoreData: $("#someMoreData").text()
        });
        $.ajax({
            type: "POST",
            url: "PageName.aspx/doIt",
            data: dataStuff,
            contentType: "application/json",
            dataType: "json"
        });
        document.location.href = 'PageName.aspx';
}

基本的に私がやっていることは、1 つのページの 2 つのラベルからテキストを取得し、次のような「doIt」関数を呼び出して別のページに送信することです。

<WebMethod()> _
Public Shared Sub doIt(ByVal someData As String, ByVal someMoreData As String)
    MessageBox.Show("Successful execution!")
End Sub

明確にするために、「doIt」関数と JSON 呼び出しは 2 つの別個の Web フォームにあります。私の問題は、「doIt」関数が共有されているため、クラスのグローバル変数にアクセスできないことです。Shared を削除すると、JSON は実行されません。解決策はありますか?

4

1 に答える 1

1

必要に応じて、クラス内のフィールド(「グローバル変数」と呼ばれる)を共有に変更することもできます。その後、共有メソッドからアクセスできるようになります。ただし、これは、それらの値がクラスのすべてのインスタンス間で共有されることを意味します。それがあなたが望むものなら、しかし、それはあなたの答えです。

于 2012-06-20T15:08:11.773 に答える