2016-04-13 4 views
1

Ich bin neu in ASP.NET. Ich habe Json Parsing getan, wenn die Daten in WebAPI Controller wie diese Rückkehr `Fehler beim Zurückgeben von Daten durch Analysieren von JSon in ASP.NET

public JsonResult getResult() 
     { 
      string dataconfig = Convert.ToString(ConfigurationManager.ConnectionStrings["Onviodb"]); 
      SqlConnection cnn = new SqlConnection(dataconfig); 
      SqlCommand cmd = null; 
      String sqlQuery = null; 
      SqlDataReader dataReader = null; 

      var list = new List<onvioAPI>(); 
      try 
      { 
       cnn.Open(); 
       sqlQuery = "Select * from tbl_Projects"; 
       cmd = new SqlCommand(sqlQuery, cnn); 
       dataReader = cmd.ExecuteReader(); 
       while (dataReader.Read()) 
       { 
        onvioAPI od = new onvioAPI(); 
        //od.id = Int32.Parse(dr["ID"].ToString()); 
        od.aname = Convert.ToString(dataReader["Agency Contact Name"]); 
        od.vname = Convert.ToString(dataReader["Vendor Name"]); 
        od.pcity = Convert.ToString(dataReader["Project City"]); 
        od.pstate = Convert.ToString(dataReader["Project State"]); 
        od.vcity = Convert.ToString(dataReader["Vendor City"]); 
        list.Add(od); 

       } 

       cnn.Close(); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine("Can not open connection ! " + ex); 
      } 

      return Json(list,JsonRequestBehavior.AllowGet); 
     } 

`

Aber es ist ein Fehler, zeigt wie The best overloaded method match for Json(List,JsonSerializerSettings) has some invalid aruguments. Was soll ich tun? Vielen Dank im Voraus

Antwort

1

Es geschah, weil es zwei JsonResult Typen: ein aus System.Web.Mvc Namensraum (mit enum JsonRequestBehavior) und einem von System.Web.Http.Results (JsonResult<T>) und ich denke, man sich vermischen. Lösung ist, dies zu tun:

using System.Web.Http; 
//using System.Web.Mvc; 

    public IHttpActionResult getResult() 
    { 
     //your code.. 
     var list = new List<onvioAPI>(); 
     //your code.. 
     return Json(list); 
    } 
0

die Sie interessieren,

List<onvioAPI> list = new List<onvioAPI>(); 

Diese funktionieren sollte.

Verwandte Themen