JQuery从c#函数返回ajax列表
JQuery ajax return list from c# function
当我试图实现C#和jquery协同工作时,我有点困惑。我在同一个解决方案/项目中有一个.cs文件和一个javascript文档。我的c#函数返回一个字符串列表,我想使用Javascript将其附加到一些HTML数据中。我也在为我的HTML使用网络表单。是否可以在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?
});
c#方法
public List<string> GetListData()
{
List<string> mylist = new List<string>();
mylist.Add("test1");
mylist.Add("test2");
mylist.Add("test3");
return mylist;
}
从此线程中拉出:
您可以将该列表序列化为一些漂亮整洁的JSON,如下所示:
using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);
经过仔细研究,我意识到我处理问题的方式不对。我想让C#在同一个项目中与javascript/html进行web表单通信。使用列表是个坏主意,因为除非我将其格式化为一个大的JSON字符串,否则我的javascript无法有效地看到它。这是解决我问题的更新代码,希望它能帮助其他人。[ComVisible(true)]允许名为test的外部窗口查看我的c#函数,$.parseJSON(myarray)能够将我的JSON字符串解析为可用的数组。
c#
[ComVisible(true)]
public string GetData()
{
string test = "[{"Name": "test1"}, {"Name": test2"}, {"Name": "test3"}]";
return test;
}
javascript
<script type="text/javascript">
var test = window.external;
var myarray = test.GetData();
var obj = $.parseJSON(myarray);
alert(obj[1].Name);
}
</script>
试试这样的东西(注意:我已经设置了一个文件,所以名称不同):
<script type="text/javascript">
$(function ()
{
$.ajax({
url: "WebService.asmx/GetListData",
success: OnSuccess,
error: OnError
});
});
function OnSuccess(data)
{
for (var i = 1; i < data.all.length; i++)
{
alert(data.all[i].textContent);
}
}
function OnError(data)
{
alert(data.statusText);
}
</script>
相关文章:
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- Spring Ajax列表返回,但对象为空
- 使用AJAX创建数据列表
- 使用Ajax或JavaScript选择下拉列表选项后,在同一页面上执行PHP脚本
- Jquery Selected plugin - 由 Ajax 动态填充列表
- ajax函数更改下拉列表值
- 从填充了 AJAX 的下拉列表中获取控制器的操作方法中的值
- 引导下拉列表动态 ajax 列表项
- ajax/jQuery Youtube 播放列表推送
- 如何使用 ajax 从 sql Server 获取单选按钮的值,并表示列表单选按钮
- 如何传递id列表's在MVC中向服务器发出AJAX请求
- AJAX请求php获取post/get发送的指定目录中服务器上的文件列表(无JQUERY)
- 基于ajax动态定位列表项
- ajax下拉列表
- ajax更新后jQuery列表刷新
- 所选列表元素不会保持选中状态(通过ajax请求更新后)
- JQuery从c#函数返回ajax列表
- 使用JQuery淡出JSON ajax列表
- AJAX列表更新,获取新元素并计数