2010-03-07 3 views
0

Я новичок в ASP.NET и в среде MVC, поэтому мне бы это понравилось, если бы кто-то мог порекомендовать и/или показать мне несколько примеров кода о том, как лучше всего читать таблицу из базы данных и хранить его как json.ASP.NET MVC и SQL Server

Целью после этого является получение некоторых параметров фильтра запросов из javascript, а затем вывод таблицы json-ified обратно в javascript. Это будет сделано для нескольких таблиц с разными именами столбцов и разными количествами столбцов, которые необходимо вернуть.

Когда я работал в обычных asp.net и C#, я построил 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