2009-06-28 13 views
1

Mysonvpページは、Json(mycustomclass)関数を使用してJsonResultオブジェクトを返すことによってjsonを返します。C#JsonResultへのコールバックの追加

これはうまく動作しますが、jsonがコールバックでjsonを使用できるようにする必要があります。

私はこのようにそれをしたい:
jsonp1246168411282({ "myjson": "いくつかの値"})

が、私はこの取得しています: { "myjson": "いくつかの値を"}

C#JsonResultを大括弧とjqueryコールバックで '折り返す'方法はありますか?あなたが別のドメイン内のページからこのアクションを呼び出している場合を除き

おかげ

はロラックスおじさんの秘密の種

+0

。 blogspot.com/2009/04/aspnet-mvc-returning-jsonp.html –

+0

またはこれを行うこともできます: string json_string =(コールバック+ "(+新しいSystem.Web.Script.Serialization.JavaScriptSerializer()。シリアライズ(json)+ ")"); JavaScriptResult result =新しいJavaScriptResult(); result.Script = json_string;戻り値: ; –

答えて

2

jQueryがうまくJSONレスポンスを使用することができます。これはあなたがやっていることですか? jsonpをサポートするwcfサービスを作成することをお勧めします。例here

もしもそうでなければ、getJson jqueryメソッドを使うことができます。

+0

こんにちは。はい、私のサービスは他のドメインからアクセスできる必要があります。現在、私はjsonを返すページを表示していますが、大きなカスタムクラスをjsonに直列化してオブジェクトとして返すことを可能にする優れたソリューションを開発中です。 オープンソースのjsonシリアライザを使用して文字列に変換し、文字列として返すことができます。 ご協力いただきありがとうございます。 よろしくお願いします。 The Lorax –

+0

良いアイデア、私はこのライブラリを使用しています。http://james.newtonking.com/projects/json-net.aspx – redsquare

0

ASP.net MVC returning JSONPまた

、何かます。http:// stimmsこれに対する解決策を必要とし、このリンクをチェックアウトするWCFサービスを使用したくない、誰のために

public JavaScriptResult Test() 
{ 
    JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); 
    string callback = Request.Params["callback"] + "(" + javaScriptSerializer.Serialize("testing, testing") + ");"; 
    return JavaScript(callback); 
} 
関連する問題