实体框架表中的javascript数组
我想在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" },
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 %>;