我知道有很多方法可以实现这一点,但是当将数据从C#发送到javascript函数时,优先考虑的方法是什么?下面是一个简单的工作示例,它使用attributes.add()将C#中的JSON对象传递给客户端的JS函数。是否有不同的方法来实现这一目标?
c#code:
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);
;}
感谢您的帮助
答案 0 :(得分:3)
使用JSON序列化程序(就像你一样)是IMHO从服务器向客户端方法发送整个对象图的最佳和最安全的方法。它将负责正确编码可能包含的所有危险字符,从而确保客户端不会中断,它可以防止XSS,并且还可以保留数组。