2009-05-27 1 views
1

まあ私は文字列やブールより複雑な型を返そうとしていますが、私は何が間違っているのですか? JavaScriptのJQueryとASP.Net

<script language="javascript" type="text/javascript"> 
    ///<Reference Path="~/Script/jquery-1.3.2-vsdoc.js" /> 
    $(document).ready(function() { 
     // Add the page method call as an onclick handler for the div. 
     $("#Result").click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "Test.aspx/GetDate", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(msg) { 
        // Replace the div's content with the page method's return. 
        $("#Result").text(msg.Name); 
       }, 
       failure: function() { alert("Failed") } 
      }); 
     }); 
    }); 
</script> 

のC#(これは普通のウェブページのウェブサービスではありません)

[WebMethod] 
public static ImageDC GetDate() 
{ 
    ImageDC dc = new ImageDC(); 
    dc.Id = 1; 
    dc.Name = "Failwhale"; 
    dc.Description = "Hurry the failwale is going to eat us!"; 
    dc.IsPublic = true; 
    return dc; 
} 

答えて

2

実行中の.NETのバージョンはわかりませんが、Webサービスから返されたオブジェクトには大きな変更があります。この記事をチェックしてください。

http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/

あなたが要求/応答を見てシオマネキを使用している場合は、問題であれば言うことは簡単でなければなりません。

http://www.fiddler2.com/fiddler2/

+0

だから私はwebservceを作成する必要がありますか? Webサービスを作成してAJAXを作成する必要がある場合は不自然に思えます。 : – Peter

+0

Im running .net 3.5 – Peter

+0

msg.d.Nameを追加してくれてありがとうございます。それは魅力的でしたが、私はいつも.d。を追加する必要がありますか?: – Peter

-1

あなたは、文字列を返す必要があります。

return "dc = {Id:"+dc.Id+", Name:" + dc.Name +", Description: " +dc.Description + ", IsPublic: " +dc.IsPublic "}";