1

この配列を JavaScript ファイルで生成したい

var sports = [{ id: 1, value: "Baseball" },
                        { id: 2, value: "Soccer" },
                        { id: 3, value: "Basketball" },
                        { id: 4, value: "Volleyball" },
                        { id: 5, value: "Tennis" },
                        { id: 6, value: "Running" },
                        { id: 7, value: "Swimming" },
                        { id: 8, value: "Tournament"}];

私は始めました:

var sports = db.Sports;

しかし、これをJavaScriptファイルに含める方法に行き詰まっています。.net には、Rails のように JavaScript ファイルが埋め込まれていますか?

4

1 に答える 1

3

データを取得して、JavaScript にシリアル化するだけです。これらの 2 つの列のみの場合は、JavaScriptSerializer または JSON.NET を使用して直接シリアライズできます。そうでない場合は、(JSON.NET を使用して) 次のように変換する必要があります。

var x = db.Sports.Select(s => new { id = s.id, value = s.value }).ToArray();
string json = JsonConvert.SerializeObject(x);

この JSON 文字列を取得したら、必要に応じてページにダンプするか、応答に直接書き込むことができます。

この部分を実行する具体的な方法を知る必要がある場合は、詳細をお知らせください (Web フォームまたは MVC、ページ内または別の JavaScript リソースなど)。

編集

一度ビューに追加するのViewBagは簡単です。ビューのスクリプト内:

var sports = @Html.Raw(ViewBag.Sports);
// or if you're not using Razor:
var sports = <%= ViewBag.Sports %>;

は既に適切にシリアライズされているためViewBag.Sports、引用符や括弧について心配する必要はありません。

于 2013-02-27T19:33:58.583 に答える