开发者

ASP.NET MVC and SQL Server

I am new to ASP.NET and the MVC framework as well, so I'd love it if someone could recommend and/or show me some examples of code on how to best read a table from a database and store it as json.

The goal after that is to receive some query filter options from a javascript, and then output the json-ified table back to the javascript. This will be done for multiple tables, with different column names and different amounts of columns that need to be returned.

When I was working in regul开发者_运维百科ar asp.net and c# I built JSON using a stringbuilder like this;

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

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

}

Where "AvgDate" and "MarkerID" are columns. My concern with this way of doing it is how to implement a smart way of reusing the same code for when I need more than two columns from the table.

So I would really appreciate any good input I could get here, especially if MVC has any other good way of doing it.


Instead using a StringBuilder to create the JSON result, you could use the following approach:

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: this code might not compile as-is. For a complete sample, see here for example.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜