我的客户端有一个文本框和一个下拉列表。我需要使用 javascript 将这些控件的值传递给 webmethod(在后面的代码中)。我可以传递文本框值,但不能传递下拉列表。
<p><asp:DropDownList id="ddlList" runat="server"></asp:DropDownList></p>
<p><asp:TextBox ID="txtSearch" runat="server" OnTextChanged="txtSearch_TextChanged" OnKeyPress="onKeyFunction();" AutoPostBack="True"></asp:TextBox>
<asp:GridView ID="grdLista" runat="server"></asp:GridView>
<script type="text/javascript">
function onKeyFunction() {
var search = document.getElementById('<%=txtSearch.ClientID %>').value;
//var ddl = i need to pass the dropdownlist values here..
PageMethods.callJS(search, /*ddl */, onSucess, onError);
function onSucess(result) {
alert(result);
}
function onError(result) {
alert('Something wrong.');
}
}
</script>
这是我的 WebMethod 中的代码
[WebMethod]
public static IEnumerable<string> callJS(string search)
{
IEnumerable<string> results = itemList.Where(item => item.Contains(search.ToLower()));
return (results);
}