C# 如何从web方法更新列表框?
我想根据在另一个列表框上选择的项目更新列表框。 对于列表框,我使用的是引导multiselect,因此我不能使用OnSelectedIndexChanged事件。因此,我在multiselect的DropDownHide事件上调用了一个web方法 JS 错误C# 如何从web方法更新列表框?,c#,jquery,listbox,webmethod,bootstrap-multiselect,C#,Jquery,Listbox,Webmethod,Bootstrap Multiselect,我想根据在另一个列表框上选择的项目更新列表框。 对于列表框,我使用的是引导multiselect,因此我不能使用OnSelectedIndexChanged事件。因此,我在multiselect的DropDownHide事件上调用了一个web方法 JS 错误 现在我想我必须使用jquery AJAX,但我不知道如何发送sql数据对象并设置ListBox2.DataTextField。什么sql数据对象?为什么不将“FactoryName”和“pkFactoryId”从WebMethod发送回客户
现在我想我必须使用jquery AJAX,但我不知道如何发送sql数据对象并设置ListBox2.DataTextField。什么sql数据对象?为什么不将“FactoryName”和“pkFactoryId”从WebMethod发送回客户端,并在UI端进行设置?您无法将asp.net元素绑定到web方法属性,因为这些元素的作用域在外部。您需要从webmethod返回一个列表,然后在js中创建/绑定它们。感谢vabii和Dinmyte,实际上我不知道如何发送iqueryable数据并在UI中访问它。什么sql数据对象?为什么不将“FactoryName”和“pkFactoryId”从WebMethod发送回客户端,并在UI端进行设置?您无法将asp.net元素绑定到web方法属性,因为这些元素的作用域在外部。您需要从webmethod返回一个列表,然后在js中创建/绑定它们。感谢vabii和Dinmyte,实际上我不知道如何发送iqueryable数据并在UI中访问它。
<script>
$(function () {
$('[id*=listbox1]').multiselect({
maxHeight: 150,
enableFiltering: true,
onDropdownHide: function (event) {
var selected = $('[id*=ListBox1]').val();
PageMethods.ListBox1OnSelectedIndexChanged(selected); //call server side function on selected index changed
}
});
});
</script>
[WebMethod]
public static void lbfSupplierOnChange(string[] data)
{
//here I want to access ListBox2 like this
ListBox2.DataTextField = "FactoryName";
ListBox2.DataValueField = "pkFactoryId";
ListBox2.DataBind();
}
An Object Reference is required for the non static field,method