2012-03-16 11 views
0

クライアントにキャッシュされるデータを含むサーバーからJSONオブジェクトを生成する必要があります。私は以下を配置しました:ASP.NETでJavascriptオブジェクトを生成中

<script src='Path to js file on server" /> 

サーバーで、jsonデータを生成してJSファイル内に配置しました。私はjsonDataオブジェクトにアクセスしようとすると

var jsonData = [{}, {}]; 

は、しかし、それは言う、undefined

私は、クライアント側の何かに生成されたJSONオブジェクトを見ることができます!

サーバー側から有効なjavascriptを生成する別の方法はありますか?クライアント側については

var items = List<myObj>(); 

string json = JsonConvert.SerializeObject(items, Formatting.Indented); 

StringBuilder sb = new StringBuilder(); 
sb.AppendLine(); 
sb.AppendFormat(" var jsonData = {0};", json); 

var fileName = Request.PhysicalApplicationPath + "Scripts/Data.js"; 
System.IO.File.WriteAllText(fileName, sb.ToString()); 

おかげ


これは、サーバー側のコードである

<script src='@Url.Content("~/Scripts/Data.js")' type="text/javascript"></script>

私は、クライアント上でこのコードを使用してみました:

alert(jsonData[0].Id); 

jsonDataは未定義です。

よろしく

+0

サンプルのjsonデータと、それを使用しようとしているコードを投稿してください –

+0

jsonまたはJavascriptコードをポストバックしようとしていますか?これらは、異なって構築された2つのものです。 – ianaldo21

+0

@ ianaldo21 jsonは** javascript **オブジェクト表記です。 – jrummell

答えて

1

ASP部分はOKですが、問題はjavascriptの変数のスコープの面内にあるように見えました。考えられる問題:

  • jsファイルを含めないでください。
  • 変数を初期化する前に変数にアクセスしようとしています。
  • 変数が表示されず、その変数にアクセスしようとしています。
  • あなたは、あなたの質問に正確ではないjsonDataにアクセスし、何か
  • jsonData[0].propertyよう

ていないなど

UPD:[OK]を、最初の2つのオプションが除外されています。この変数にはどこにアクセスしようとしていますか?コードの一部を表示してください。

+0

どのようなソリューションの人? – Bill

関連する問題