全て、
Web サービス メソッドから返されたドロップダウン リスト項目の配列を ddlSubCategory asp.net サーバー コントロールにバインドするにはどうすればよいですか? これが私のコードです。jquery OnSuccess メソッドのコメントを参照してください。
<script type="text/javascript">
$(document).ready(function () {
$('#<%=ddlParentCategory.ClientID%>').change(function () {
var selectedParentCategory = getParentCategorySelectedValue();
var params= [];
params[id] = selectedParentCategory;
$.ajax({
type: "POST",
url: "MyWebService.asmx/GetSubCategoryItems",
data: params,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
});
function OnSuccess(data, status) {
;// need to populate ddlSubCategory <asp:DropDownList on UI now
;// using returned array of drop down list items from the web service
}
function OnError(request, status, error) {
alert(request.statusText);
}
function getParentCategorySelectedValue() {
var SelectedVal = $('#<%=ddlParentCategory.ClientID %>').val();
return SelectedVal;
}
});
</script>
Here is my web service web method returning the array of list items:
[WebMethod]
public ListItem [] GetSubCategoryItems(int id)
{
using (var dc = MyDataContext.Open())
{
return dc.SubCategory
.OrderBy(sc => sc.Name)
.Select(sc => new ListItem()
{
Value = sc.ID.ToString(),
Text = sc.Name
})
.Prepend(new ListItem() {Value = "", Text = "Please Select"})
.ToArray();
}
}
助けてくれてありがとう!