Javascript 来自c#函数的JQuery ajax返回列表

Javascript 来自c#函数的JQuery ajax返回列表,javascript,c#,jquery,ajax,webforms,Javascript,C#,Jquery,Ajax,Webforms,在尝试实现C#和jquery协同工作时,我有点困惑。我在同一个解决方案/项目中有一个.cs文件和一个javascript文档。我的c#函数返回一个字符串列表,我想使用Javascript将其附加到一些HTML数据中。我还使用了一个用于HTML的webform。可以在javascript端返回我的列表吗 javascript $(function () { $.ajax({ type: "GET", url: "Test/GetListData",

在尝试实现C#和jquery协同工作时,我有点困惑。我在同一个解决方案/项目中有一个.cs文件和一个javascript文档。我的c#函数返回一个字符串列表,我想使用Javascript将其附加到一些HTML数据中。我还使用了一个用于HTML的webform。可以在javascript端返回我的列表吗

javascript

$(function () {
    $.ajax({
        type: "GET",
        url: "Test/GetListData", 
        dataType: "data: Array<any>" //Something like this?
    });

    //Can i return the list and use it here?
});
<script type="text/javascript">
            var test = window.external;
            var myarray = test.GetData();
            var obj = $.parseJSON(myarray);
            alert(obj[1].Name);
        }

   </script>
$(函数(){
$.ajax({
键入:“获取”,
url:“测试/获取列表数据”,
数据类型:“数据:数组”//类似的内容?
});
//我可以返回列表并在这里使用它吗?
});
c#法

公共列表GetListData()
{
List mylist=新列表();
mylist.Add(“test1”);
mylist.Add(“test2”);
mylist.Add(“test3”);
返回mylist;
}

您可以将该列表序列化为一些漂亮整洁的JSON,如下所示:

using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);
尝试以下操作(注意:我已经设置了一个文件,因此名称不同):


$(函数()
{
$.ajax({
url:“WebService.asmx/GetListData”,
成功:一旦成功,
错误:OnError
});
});
函数OnSuccess(数据)
{
对于(变量i=1;i
经过仔细研究后,我意识到我的问题处理得不对。我想让C#在同一个项目中为web表单与javascript/html进行通信。使用列表是个坏主意,因为我的javascript无法有效地看到它,除非我将其格式化为一个大的JSON字符串。下面是解决我问题的更新代码,希望它能帮助其他人。[ComVisible(true)]允许名为test的外部窗口查看我的c#函数,并且$.parseJSON(myarray)能够将我的JSON字符串解析为可用的数组

c#

javascript

$(function () {
    $.ajax({
        type: "GET",
        url: "Test/GetListData", 
        dataType: "data: Array<any>" //Something like this?
    });

    //Can i return the list and use it here?
});
<script type="text/javascript">
            var test = window.external;
            var myarray = test.GetData();
            var obj = $.parseJSON(myarray);
            alert(obj[1].Name);
        }

   </script>

var测试=窗口外部;
var myarray=test.GetData();
var obj=$.parseJSON(myarray);
警报(obj[1]。名称);
}

jQuery
$。ajax
文档非常详细,甚至包括示例它是哪种web应用程序?webforms还是mvc?@VenkataPanga Web Forms可能与@VenkataPanga重复,感谢您的建议。事实证明,我必须朝着一个完全不同的方向走,见下面我的答案。那么,为了在JQuery中使用数据,有必要将我的列表序列化为JSON吗?这是最简单的方法。JSON对象很轻,很容易被jQuery解析。谢谢你的提示。请参阅下面我的更新答案,了解我是如何解决问题的。您的意思是:
{“Name”:“test2”},
而不是
{“Name”:test2”}
<script type="text/javascript">
            var test = window.external;
            var myarray = test.GetData();
            var obj = $.parseJSON(myarray);
            alert(obj[1].Name);
        }

   </script>