0
我有一个需要与ASP.NET Web服务交互的ASP.NET 3.5 webforms应用程序。 Web服务提供了要填充到下拉列表中的有效值列表。建议在客户端还是服务器端执行此操作?如果在服务器端完成,我该如何为我的asmx Web服务定义数据源集?如果在客户端完成,请建议一个好的JQuery小部件。如何使用Web服务方法的结果填充DropDownList?
非常感谢您的帮助!
我有一个需要与ASP.NET Web服务交互的ASP.NET 3.5 webforms应用程序。 Web服务提供了要填充到下拉列表中的有效值列表。建议在客户端还是服务器端执行此操作?如果在服务器端完成,我该如何为我的asmx Web服务定义数据源集?如果在客户端完成,请建议一个好的JQuery小部件。如何使用Web服务方法的结果填充DropDownList?
非常感谢您的帮助!
OPTS我定义使用内置的收集数据的合同之一来呈现JSON列表中的WCF服务:
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class optionsservice
{
// Return a dynamic list of the options
[WebInvoke(UriTemplate = "/getOptions?type={type}", Method = "GET", ResponseFormat = WebMessageFormatJson)]
public SelectOptions getOptions(string filter = "")
{
SelectOptions returnOptions = new SelectOptions();
//get your datatable here.
foreach (DataRow r in tbl.Rows)
{
returnOptions.Add((string)r["id"], (string)r["value"]);
}
return returnOptions;
}
[CollectionDataContract(Name = "collection",
KeyName = "id",
ValueName = "value",
Namespace = "")]
public class SelectOptions : Dictionary<string, string> { }
}
你也可以投的DataTable添加到列表,但是这是唯一的示例代码我手头
这里是你将如何箱装入的jQuery:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" charset="utf-8">
$(function(){
$("select#ctlSelect").change(function(){
$.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i]value + '</option>';
}
$("select#ctlSelect").html(options);
})
})
})
</script>
正在返回什么数据格式? XML/JSON? – Gthompson83
JSON我相信。 – SidC