Хотя мой пример не совсем имитирует ваш дизайн (возможно, вы используете метод страницы или некоторую сомнительную маршрутизацию), но пока /PatientACO.aspx/SearchByDemographic
возвращает JSON, вы должны иметь возможность применять этот код.Заполните коллекцию List<ListItem>
вашими данными по мере необходимости и верните JSON.
Я добавил действие под названием SearchByDemographic, и вы увидите, что ниже в моем jQuery я использую его вместо вашего URL.Тем не менее, он по-прежнему принимает запросы POST и возвращает JSON.
[HttpPost]
public JsonResult SearchByDemographic()
{
List<ListItem> list = new List<ListItem>() {
new ListItem() { Value = "1", Text = "Patient 1" },
new ListItem() { Value = "2", Text = "Patient 2" },
new ListItem() { Value = "3", Text = "Patient 3" }
};
return this.Json(list);
}
Затем мой jQuery немного модифицируется для использования $.ajax
, что просто для $.getJSON
, и допускает еще несколько опций.
$('#DemoGraphSubmit').click(function (e) {
e.preventDefault();
$.ajax({
url: 'SearchByDemographic',
type: 'POST',
success: function (data) {
$.each(data, function (i, optionData) {
var option = new Option(optionData.Text, optionData.Value);
$('#PatientListToAdd').append(
$('<option></option>').val(optionData.Value).html(optionData.Text)
);
});
}
});
});