2012-10-30 54 views
0

因此,最近我一直在研究用JavaScript控制的HTML5 Indexeddb功能,以及如何將它與SQL Server數據庫結合以共享和複製信息,以便脫機使用該數據庫的一個版本。將SQL數據庫的行傳遞給Javascript的最佳方法是什麼?

我擁有的難題是找到將一組對象從SQL Server數據庫傳遞到瀏覽器的JavaScript,使用C#從數據庫獲取值的最佳方法。儘管可以做很多小小的「黑客」(例如,將數據放入標籤,然後讓Javascript只是把它撿起來)document.getElementById(「DataHere」).value;)我想知道是否還有更多傳遞數據庫內容的有效方法?

目前我有一個方法可以生成一個字符串數組(全部以JSON格式,使用JSON.Net包)作爲從數據庫返回的例子。

public string[] GenerateEmployeeSample() { 
    List<Employee> listEmps = new List<Employee>(); 
    string[] listJSON = new string[64]; 
    string[] FirstNames = {"Alonso", "Alfred", "Angus", "Alfresco" }; 
    string[] LastNames = {"Johnson","Williams", "Zelwegger", "Jones" }; 
    string[] Departments = {"Finance", "Cleaning", "Pusher", "Stairs" }; 
    string emailEnd = "@email.com"; 

    for (int i = 0; i < 4; i++) { 
     for (int j = 0; j < 4; j++) { 
      for (int k = 0; k < 4; k++) { 
       Employee tempEmp = new Employee(); 
       tempEmp.FirstName = FirstNames[i]; 
       tempEmp.LastName = LastNames[j]; 
       tempEmp.Department = Departments[k]; 
       tempEmp.Email = FirstNames[i] + "." + LastNames[j] + emailEnd; 
       listEmps.Add(tempEmp); 
      } 
     } 
    } 
    int count = 0; 
    foreach(Employee emp in listEmps){ 
     string tempString = JsonConvert.SerializeObject(emp); 
     listJSON[count] = tempString; 
     count++; 
    } 

    return listJSON; 
} 

所以,現在我有一組數據,我怎麼能夠通過這個數組通過JavaScript? 我很抱歉,如果這是一個微不足道的問題,但JavaScript對我來說還是比較新的,在閱讀了幾個例子之後,要麼是沒有做我想要的,要麼是完全不工作,我有點虧損。

非常感謝您的閱讀!

+0

你會使用一種稱爲AJAX的方便的小技巧。你可以閱讀更多關於它[這裏](https://developer.mozilla.org/en-US/docs/AJAX) –

+0

使用JSON進行數據封裝。它在任何現代編程語言中都得到了普遍支持,並且比xml或其他傳輸格式更容易處理。 –

回答

0

更具體地說,您可以創建一個資源(如aspx頁面或者json文件等),當請求時返回一個JSON字符串。您已經完成了這一步,因爲您已經獲得了將對象序列化爲JSON的代碼。這樣做的一個簡單的辦法是有輸出使用Response.Write(GenerateEmployeeSample());

那麼你可以使用XMLHttpRequest對象來請求該資源這個函數的返回值的頁面,並解析返回的JSON使用JavaScript的JSON.parse,它返回一個原生javascript對象。您可以隨意使用這個對象。

+0

非常感謝,這種方式效果很好。 – Fernify

相關問題