什么是将数组从C#返回到javascript的最佳(简单明了)方法 - c#

我知道这里有很多类似的问题,但是我没有发现有人问完全相同的问题。

我正在使用ASP.NET和MVC4开发项目。我正在使用aspx作为视图引擎。我的视图中有一个javascript代码,该代码获得了一个值表,并根据它们创建了一个图形。

我使用下面的查询从数据库中获取这些值

        var query = from b in db.SchoolTestsPerModulePerStudent
                    where b.StudentID.Equals(2)
                    select b;

现在,我的问题是我是否将这些结果放在数组中(我还没有弄清楚,如何给定b,将其结果分成两个数组,一个包含测试ID,另一个包含学生的成绩,但是我希望我会很快),将这些数组从C#返回到javascript的最佳(简便)方法是什么?

参考方案

将对象序列化为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);

使用Microsoft Asp.NET依赖注入时找不到HttpActionContext.get_Request()方法 - c#

我试图将Microsoft Extensions Dependency Injection添加到现有的ASP.NET WebApi / Owin项目中。在this blog post之后,我添加了ConfigureServices函数,实现了DependencyResolver,并使HttpConfiguration实例可以使用它。我还将所有非抽象控制器添加…

asp.net使用客户端验证而不发布到服务器 - c#

我有一个很长的表格,分为几个部分。我想利用内置的ASP.NET验证控件而不在提交表单之前将其回发到服务器。为了提供更多的上下文,让我解释一下我的想法。该表格分为几部分,每个部分都有一个“下一步”按钮。单击“下一步”按钮时,将使用ASP.NET包含的客户端代码来验证该部分。如果该部分有效,则jquery方法将隐藏该部分并显示下一个。当用户到达表单的最后部分时,…

ASP.NET持久缓存(“延迟加载”样式吗?) - c#

我在使缓存按我想要的方式工作时遇到了麻烦。问题:检索请求的数据的过程非常耗时。如果使用标准的ASP.NET缓存,则某些用户将承担检索数据的“重任”。这是不可接受的。解决方案?:数据是否为100%当前并不重要。我想提供旧的无效数据,同时在另一个线程中更新缓存的数据,使新数据可用于将来的请求。我认为,数据需要以某种方式持久化,以便能够在应用程序重新启动后为第一个…

使用Javascript在ASP.NET MVC控制器操作上通过POST下载文件(HttpPost操作) - c#

最初,我的控制器操作接受GET。当我的数据增长时,我被迫转向POST方法,以便能够发送更大的数据。我的控制器动作如下:[HttpPost] public ActionResult ClausesPdf(MyArrayModel obj) { ... return File(pdf, "application/pdf", "fil…

ASP.NET Gridview ButtonField onclick触发包含行的onclick事件 - c#

我有一个gridview行,当单击该行时必须执行回发操作A,而在该行中单击该行时必须执行回发操作B的按钮字段。问题是,当我单击按钮字段时,会触发event1和event2。下面是代码。protected void gdv_RowCommand(object sender, GridViewCommandEventArgs e) { string arg = …