Если я правильно понимаю требование, вы хотите заполнить раскрывающийся элемент управления со стороны сервера, но он будет вызван из пользовательского интерфейса (например, вызов ajax).
Прежде всего, вы можете сделатьто же самое с методом страницы также.Заполните необходимые данные в методе на стороне сервера (скажем, dropdwnfill ()) и верните коллекцию строк.Затем используйте этот метод с помощью вызова ajax из пользовательского интерфейса и заполните раскрывающийся список.см. ниже:
/*structure to be return*/
public class DropDownValue
{
public string name { get; set; }
public string value { get; set; }
}
/*server side page-method*/
[WebMethod]
public static List<DropDownValue> dropdwnfill()
{
// sample data population in list
DropDownValue dropDownValue1 = new DropDownValue();
dropDownValue1.name = "TestName1";
dropDownValue1.value = "1";
DropDownValue dropDownValue2 = new DropDownValue();
dropDownValue2.name = "TestName2";
dropDownValue2.value = "2";
List<DropDownValue> lst = new List<DropDownValue>();
lst.Add(dropDownValue1);
lst.Add(dropDownValue2);
return lst;
}
/*Consume in UI*/
$(document).ready(function () {
$("[id*=btnLoadDropDown]").click(function () {
$.ajax({
type: "POST",
url: "default.aspx/dropdwnfill",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (jqXHR) {
//do required stuff for error
alert(jqXHR.responseText);
}.bind(this),
success: function (msg) {
var option = '';
if (msg.d.length > 0) {
for (i = 0; i < msg.d.length; i++) {
option += '<option value="'+ msg.d[i].value + '">' + msg.d[i].name + '</option>';
}
$('#drpTest').append(option);
}
}.bind(this)
});
return false;
});
});
/*UI element Design*/
<div>
<asp:DropDownList ID="drpTest" runat="server" AutoPostBack ="false" Width="356px"> </asp:DropDownList>
</div>
<asp:Button ID ="btnLoadDropDown" runat ="server" Width="354px" Text="Load Drop Down" AutoPostBack ="false"/>
Во-вторых, целью веб-службы является раскрытие конечной точки.Таким образом, вы также можете создать веб-сервис для получения только данных с сервера, а затем заполнить раскрывающийся список, как показано ранее.Чтобы создать / использовать веб-сервис, вы можете обратиться: Как создать веб-сервис (сервер и клиент) в Visual Studio 2012?