在c#中向Javascript函数发送对象

Sending objects to a Javascript function in C#

本文关键字:对象 函数 Javascript 中向      更新时间:2023-09-26

我知道有很多方法可以实现这一点,但是当从c#发送数据到javascript函数时,首选的方法是什么?下面是一个简单的工作示例,使用attributes.add()将c#中的JSON对象传递给客户端的JS函数。有没有别的方法可以达到这个目的?

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);            
  ;}

谢谢你的帮助

使用JSON序列化器(如您所做的那样)是将整个对象图从服务器发送到客户端方法的最佳和最安全的方式。它将负责对可能包含的所有危险字符进行正确编码,从而确保客户端不会中断,它可以防止XSS,并且还保留数组。