我知道这里有很多类似的问题,但我没有找到任何要求完全相同的人。
我正在使用ASP.NET和MVC4开发一个项目。我使用aspx作为视图引擎。我在我的视图中有一个javascript代码,它将值作为输入,并根据它们创建一个图形。
我使用下面的查询从我的数据库中获取这些值
var query = from b in db.SchoolTestsPerModulePerStudent
where b.StudentID.Equals(2)
select b;
现在,我的问题是我是否在数组中有这些结果(我还没想到,如何给出b,将结果分成两个数组,一个包含测试的id,另一个包含学生的成绩但是,我希望我能很快),将这些数组从C#返回到javascript的最佳(简单明了)方法是什么?
答案 0 :(得分:1)
将对象序列化为JSON。例如,如果您的模型是IEnumerable<string>
:
public ActionResult Index()
{
IList<string> strings = new List<string>();
strings.Add("Python");
strings.Add("C#");
strings.Add("Javascript");
strings.Add("Ruby");
return View(strings);
}
@Json.Encode(Model)
["Python","C#","Javascript","Ruby"]
如何给出b,将其结果分成两个数组
使用Linq。
var student = db.SchoolTestsPerModulePerStudent.Where(x => x.StudentId == 2);
var dates = student.Select(x => x.TestDate);
var grades = student.Select(x => x.TestGrade);
答案 1 :(得分:0)
提供给您视图的模型(viewmodel)应该包含一个包含id和等级的强类型列表。在您的视图中(至少使用剃刀),有一些html助手可以在您将Model.MyList传递给它时为您构建下拉列表。
抱歉,我还不能给你一个例子,我不在工作。