0

私はjQueryの初心者であり、PageMethodの結果をjQueryスクリプトに読み込もうとしています。ScriptManagerがインストールされており、次のWebMethodがあります。

[WebMethod(EnableSession = true)]
    public static string CheckSystemDefault(string _id)
    {
        int id = Convert.ToInt16(_id);
        addressTypeRepository = new AddressTypeRepository();

        AddressType addressType = addressTypeRepository.GetById(id);

        if (addressType.IsSystemDefault == true)
            return "IsSystemDefault";
        else
            return "IsNotSystemDefault";
    }

これを使用して、オブジェクトにプロパティIsSystemDefaultがあるかどうかを確認します。

スクリプトでは、URLからIDを渡し、結果を評価したいと思います。

var id = $(document).getUrlParam("id");
var check = PageMethods.CheckSystemDefault(id);
if (check == "IsSystemDefault") {
...
}
if (check == "IsNotSystemDefault") {
...
}

しかし、その結果、変数「check」は未定義です。何を変更する必要がありますか?

4

2 に答える 2

0

スクリプト マネージャでページ メソッドを有効にする必要があります。以下の最後の属性が示すように、スクリプト マネージャー要素で EnablePageMethods="true" を指定しましたか?

<ajaxToolkit:ToolkitScriptManager runat="Server"
    EnableScriptGlobalization="true"
    EnableScriptLocalization="true"
    ID="ScriptManager1"
    EnablePageMethods="true"/>
于 2010-03-12T16:22:26.323 に答える
0

jQuery スクリプトの構文が正しくありませんでした。

次のようにする必要があります。

<script type="text/javascript">

    jQuery(document).ready(function() {

        var id = $(document).getUrlParam("id"); 

        PageMethods.CheckSystemDefault(id, function(result) {
            if (result == "IsSystemDefault")
                // do something
            else
                // do something
        });

    });    

</script>
于 2010-03-16T12:03:26.010 に答える