2010-03-07 7 views
0

Je suis nouveau à ASP.NET et le cadre MVC, donc je serais ravi si quelqu'un pouvait recommander et/ou montrer quelques exemples de code sur la meilleure façon de lire une table à partir d'une base de données et le stocker en tant que JSON.ASP.NET MVC et SQL Server

L'objectif est ensuite de recevoir des options de filtre de requête à partir d'un javascript, puis de renvoyer la table json-ified au javascript. Cela sera fait pour plusieurs tables, avec des noms de colonne différents et des quantités différentes de colonnes qui doivent être retournées.

Lorsque je travaillais sur asp.net et C#, j'ai construit JSON en utilisant un stringbuilder comme celui-ci;

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

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

} 

Où "AvgDate" et "MarkerID" sont des colonnes. Mon souci avec cette façon de faire est de savoir comment implémenter une manière intelligente de réutiliser le même code pour quand j'ai besoin de plus de deux colonnes de la table.

Donc j'apprécierais vraiment toute bonne contribution que je pourrais obtenir ici, particulièrement si MVC a n'importe quelle autre bonne manière de le faire.

Répondre

3

lieu en utilisant un StringBuilder pour créer le résultat JSON, vous pouvez utiliser l'approche suivante:

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); 
} 

Note: ce code peut ne pas compiler en l'état. Pour un exemple complet, see here par exemple.

+0

Merci, je vais essayer ça. – cc0