我在一个页面上有一个下拉列表,我想使用AJAX为了从XML文件填充它。有没有办法告诉AJAX只运行某些asp.net方法而不使用WebServices?
欢迎任何其他解决方案,但唯一的限制是它将在服务器端进行(而不是以js为例)?使用ajax从xml填充DropdownList
谢谢!
我在一个页面上有一个下拉列表,我想使用AJAX为了从XML文件填充它。有没有办法告诉AJAX只运行某些asp.net方法而不使用WebServices?
欢迎任何其他解决方案,但唯一的限制是它将在服务器端进行(而不是以js为例)?使用ajax从xml填充DropdownList
谢谢!
这可以通过各种方式 - 一种方法是在客户端使用jQuery来生成AJAX请求(像这样绑定到页面,但可以绑定到SELECT更改事件) :
$(document).ready(function() {
$.get('/target-url.aspx?someparam=somevalue', function(data) {
// process the returned data - dependant on the format - assuming JSON here.
var items = data['items'];
// may wish to clear the contents of the SELECT box.
// spin through and add OPTION elements
for(var i = 0; i < items.length; i++) {
$('#selectid').append('<option>'+items[i]+'</option>');
}
}
}
其中selectid是dropdownlist元素的ID(在ASP.NET中使用ClientId)。
然后,您需要在ASP.NET中编写一些代码以用您所需的逻辑响应AJAX请求。
一些有用的链接:
http://api.jquery.com/jQuery.get/
看到这里使用jQuery和ASP.NET使用JSON的例子:
http://encosia.com/use-jquery-and-aspnet-ajax-to-build-a-client-side-repeater/
谢谢,但我失去了一些东西:在ASP.NET代码 - 我应该在哪里放置我的逻辑(在哪个方法?)?,我该如何返回'项'JSON? – Assaf
我刚刚添加了另一个链接,其中有一个示例可以帮助您 –
你能发布一些样品代码请?您是使用AJAX Control Toolkit还是其他一些方法将SELECT框连接到AJAX? –
不,我只是在服务器上有一个DropDownList和一个XML文件,我需要让AJAX调用服务器上的一个函数来对XML执行一些操作,并获取我想要绑定到的项目列表下拉列表。这甚至有可能吗? – Assaf
我不明白你的意思是“没有使用WebServices”。如果您使用的是Ajax,您*使用的是web服务,与任何其他正常的http请求没有区别。 – bart