Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实体框架表中的javascript数组_Javascript_.net_Entity Framework - Fatal编程技术网

实体框架表中的javascript数组

实体框架表中的javascript数组,javascript,.net,entity-framework,Javascript,.net,Entity Framework,我想在JavaScript文件中生成这个数组 var sports = [{ id: 1, value: "Baseball" }, { id: 2, value: "Soccer" }, { id: 3, value: "Basketball" }, { id: 4, value: "Volleyball" },

我想在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文件?

您只需检索数据并将其序列化为JavaScript即可。如果这两列是唯一的列,那么可以使用JavaScriptSerializer或JSON.NET直接进行序列化。如果没有,您将需要转换它们,可能类似(使用JSON.NET):

一旦有了这个JSON字符串,您就可以随意将其转储到页面上,或者直接将其写入响应

如果您需要知道完成这一部分的具体方法,我们需要更多详细信息(WebForms或MVC、页面内部或单独的javascript资源等)

编辑

一旦它进入
视图包
就可以直接将其添加到视图中。在视图上的脚本中:

var sports = @Html.Raw(ViewBag.Sports);
// or if you're not using Razor:
var sports = <%= ViewBag.Sports %>;
var-sports=@Html.Raw(ViewBag.sports);
//或者,如果您没有使用剃须刀:
var体育=;

由于
ViewBag.Sports
已经正确序列化,因此您不必担心引号或括号。

我正在进行MVC,这将在一个页面中。在MVC中,您要么在控制器中,要么在视图中-实际上没有页面的概念。假设此代码在控制器中执行,您可以将其转储到
ViewBag
,然后您的视图可以检索它并将字符串内容分配到javascript变量中。或者你可以将其作为视图模型的一部分。事实上,我在运动控制器中。我已将其添加到
视图包
。我现在正在研究如何将其添加到JavaScript变量。使用JavaScript编辑答案。我的错误-我忘了Razor会自动对输出进行编码-您需要
Html.Raw
将其按原样写入页面。请参阅更新。
var sports = @Html.Raw(ViewBag.Sports);
// or if you're not using Razor:
var sports = <%= ViewBag.Sports %>;