2011-07-19 17 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函数吗? –