2010-03-07 122 views
0

我是ASP.NET和MVC框架的新手,所以我很喜欢它,如果有人可以推荐和/或向我展示一些关于如何最好地读取表的代码示例从一个数据库并将其存储为json。ASP.NET MVC和SQL Server

之后的目标是从javascript接收一些查询过滤器选项,然后将json-ified表格输出回javascript。这将针对多个表格完成,使用不同的列名和需要返回的不同数量的列。

当我在常规的asp.net和c#中工作时,我使用像这样的stringbuilder构建JSON;

StringBuilder json = new StringBuilder(); 
while (reader.Read()) 
{ 

    json.AppendFormat("{{{{\"AvgDate\": \"{0}\"}},{{\"MarkerID\": \"{1}\"}}}},", reader["AvgDate"], reader["MarkerID"]); 

} 

其中“AvgDate”和“MarkerID”是列。我对这种做法的担心是如何在需要表格中的两列以上时重复使用相同代码的智能方式。

所以,我真的很感激任何好的输入,我可以在这里,特别是如果MVC有任何其他好的方式做到这一点。

回答

3

而不是使用一个StringBuilder来创建JSON结果,你可以用下面的办法:

public class MyClass 
{ 
    public DateTime AverageDate { get; set; } 
    public int MarkerId { get; set; } 
} 

// the action method 

public JsonResult MyAction() 
{ 
    var result = new List<MyClass>(); 
    //.. 
    while (reader.Read()) 
    { 
    result.Add(new MyClass() { 
     AverageDate = reader["AvgDate"], MarkerId = reader["MarkerId"] }; 
    } 
    //.. 
    return Json(result); 
} 

注:此代码可能无法编译原样。例如,对于完整的示例,see here

+0

谢谢,我会试试这个。 – cc0 2010-03-07 22:34:44