jquery - 使用 Web 方法绑定下拉列表(如何在 C# 中调用 Web 服务)
问题描述
我想绑定多个下拉列表,并且所有下拉列表相互依赖。使用 Web 方法(服务 URL)。服务返回类型是ExtensionDataObject
,我想将此返回类型存储到列表中是否可能
但是我怎样才能把这个对象绑定到列表中。
ASPX
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var params = { UserId: 'approver01', WorkflowTypeCode: 4 };
$.ajax({
type: "post",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "objectData": params }),
url: 'IP/Service.svc/getdata/GetCountriesName',
dataType: "json",
success: BindCountry,
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(xhr.responseText);
alert(thrownError);
}
});
function BindCountry(response) {
$.each(response.d, function (key, value) {
appendString = "<option value='" + key + "'>" + value + "</option>";
$("#ddlCountry").append(appendString);
});
}
function ajaxError(response) {
alert(response.status + ' ' + response.statusText);
}
});
</script>
<select id="ddlCountry" runat="server">
<option value="0">--Select Country--</option>
</select>
<select id="ddlCompany" runat="server">
<option value="0">--Select Company--</option>
</select>
<select id="ddlDivision" runat="server">
<option value="0">--Select Devision--</option>
</select>
<select id="ddlLocation">
<option value="0">--Select Location</option>
</select>
.CS 代码这里我的方法是:为服务引用创建对象,然后添加到列表和返回列表并通过 aspx 调用使用 j 查询 URL 但无法执行相同操作。
[WebMethod]
public static List<CountryList> GetCountriesName(string UserID)
{ //Creating object for service reference.
AlmaraiMasterDataService.MasterDataServiceClient oClient = new AlmaraiMasterDataService.MasterDataServiceClient();
List<CountryList> lst = new List<CountryList>();
lst.Add(oClient.GetActiveCountries); //Error not able to add In List
return lst;
}
public class CountryList
{
public int CountryId { get; set; }
public string CountryName { get; set; }
}
解决方案
@nitish:根据我的观察,mymethod 是 jquery url url 中的方法:'IP/Service.svc/getdata/Mymethod',但实际的 webmethod 名称是 GetCountriesName()。我建议也尝试在 jquery url 中更改它。将帮助。
推荐阅读
- java - 如何将数据从一个游标发送到另一个游标并保存在sqlite中
- java - 如何捕获一个值并告诉用户再次输入?
- excel - PowerQuery 合并列
- html - 防止孩子假设动态宽度父级的全宽
- python - 如何在 Python 中将 GeoDataFrame 保存到磁盘?
- regex - 如何在clojure中通过正则表达式返回命名空间?
- php - PHP worker 和子进程一样吗?
- c# - 如何在布局页面上获取用户电子邮件地址
- bash - 在使用变量的bash脚本错误中使用文件命令
- google-cloud-platform - 可以使用 Google Cloud API 对文本执行标点恢复吗?