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。如果这两个是唯一的列,则可以使用 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 字符串,你可以将它转储到你想要的页面上,或者直接写到响应中。

如果您需要知道执行此部分的特定方法,我们需要更多详细信息(WebForms 或 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 回答