2016-06-07 60 views
0

我創建了一個ASP.NET MVC項目。我製作了控制器和模型。現在我想將JSON文件導入到本地數據庫中。ASP.NET:在服務器資源管理器中導入DB中的JSON文件

這是可能的和如何?

我的模型:

public class Adres 
{ 
    public int Id { get; set; } 
    public DateTime Date { get; set; } 
    public float Latitude { get; set; } 
    public float Longitude { get; set; } 
    public string Address { get; set; } 
} 

JSON例如:

[{"SubmissionId":1,"Date":"2014-07-15 17:53:02.127","Latitude":52.385,"Longitude":4.636,"Address":"AH Kruisstraat 10, Haarlem "}, 
{"SubmissionId":2,"Date":"2014-07-15 15:46:19.627","Latitude":52.382,"Longitude":4.857,"Address":"AH: Bos en Lommerweg 117, Amsterdam,"}] 
+0

如何將數據發送到控制器? – Nkosi

回答

0

這裏它發送JSON數據到使用jQuery控制器,並使用經典的ADO.NET與存儲過程中插入該記錄的例子到數據庫:

控制器:

public class Adres 
{ 
    public int Id { get; set; } 
    public DateTime Date { get; set; } 
    public float Latitude { get; set; } 
    public float Longitude { get; set; } 
    public string Address { get; set; } 
} 

public class HomeController : Controller 
{ 
    public ActionResult JsonExample() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult SaveToDatabase(Adres adres) 
    { 
     adres.Date = DateTime.Now; 

     string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString; 

     using (var connection = new SqlConnection(connectionString)) 
     { 
      connection.Open(); 
      using(var command = new SqlCommand("InsertAdres",connection)) 
      { 
       command.CommandType = System.Data.CommandType.StoredProcedure; 
       command.Parameters.AddWithValue("@Date",adres.Date); 
       command.Parameters.AddWithValue("@Latitude",adres.Latitude); 
       command.Parameters.AddWithValue("@Longitude",adres.Longitude); 
       command.Parameters.AddWithValue("@Address",adres.Address); 
       command.ExecuteNonQuery(); 
      } 
      connection.Close(); 
     } 

     return View(); 
    } 
} 

查看:

@{ 
    ViewBag.Title = "JsonExample"; 
} 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#btnSaveJson").click(function() { 

      var adres = { 
       Id: 1, 
       Latitude: 155.77, 
       Longitude: 245.99, 
       Address: $("#txtAddress").val() 
      }; 

      $.ajax({ 
       url: '/Home/SaveToDatabase', 
       type: 'post', 
       dataType: 'json', 
       success: function (data) { 
        alert("Saved to database, notify user..."); 
       }, 
       data: adres 
      }); 
     }); 
    }) 
</script> 
<input type="text" id="txtAddress" value="221B Baker street" /> 
<input type="button" value="Save Json To Database" id="btnSaveJson" /> 
相關問題