2011-07-19 22 views
5

有很多方法可以實現我所知道的,但是將數據從C#發送到JavaScript函數時的優先方法是什麼?下面是一個使用attributes.add()將C#中的JSON對象傳遞給客戶端JS功能的簡單工作示例。有沒有不同的方式來實現這一目標?將對象發送到C#中的Javascript函數#

C#代碼:

public string BuildJSONText() 
    { 
     List<City> cities = new List<City>(); 
     cities.Add(new City("London", "Britain", "Europe")); 
     cities.Add(new City("Tokyo", "Japan", "Asia")); 
     cities.Add(new City("New York", "USA", "North America")); 

     return (new JavaScriptSerializer()).Serialize(cities); 
    } 

    protected void getJSON(object sender, EventArgs e) 
    { 
     string test = BuildJSONText(); 
     getJsonBtn.Attributes.Add("onclick", "getJSON(" + BuildJSONText() + ")"); 
    } 

的Javascript:

function getJSON(obj){ 

     alert(obj[0].Name);    
    ;} 

感謝您的幫助

回答

3

使用JSON序列化(因爲你這樣做)是恕我直言發送的最好和最安全的方式從服務器到客戶端方法的整個對象圖。它將負責妥善編碼可能包含的所有危險字符,從而確保客戶端不會中斷,它可以保護XSS,並保護陣列。

+0

它仍然以相同的方式傳遞給JavaScript函數嗎? –