Я работаю над приложением ASP.NET MVC 4. Это приложение имеет контроллер с действием, которое выглядит следующим образом:ASP.NET MVC Action Not Getting Parameter Values
public class MyController : System.Web.Http.ApiController
{
[ResponseType(typeof(IEnumerable<MyItem>))]
public IHttpActionResult Get(string id, string filter)
{
IEnumerable<MyItem> results = MyItem.GetAll();
List<MyItem> temp = results.ToList<MyItem>();
var filtered = temp.Where(r => r.Name.Contains(filter);
return Ok(filtered);
}
}
Я называю это действие, используя следующий JavaScript, который опирается на Select2 библиотеки:
$('#mySelect').select2({
placeholder: 'Search here',
minimumInputLength: 2,
ajax: {
url: '/api/my',
dataType: 'json',
quietMillis: 150,
data: function (term, page) {
return {
id: '123',
filter: term
};
},
results: function (data, page) {
return { results: data };
}
}
});
Этот код успешно достигает действия контроллера. Однако, когда я смотрю на id
и filter
в окне просмотра, я вижу следующие ошибки:
The name 'id' does not exist in the current context
The name 'filter' does not exist in the current context
Что я делаю неправильно? Как я могу вызвать действие MVC из своего JavaScript?
Спасибо!
Не могли бы вы также показать свои маршруты, пожалуйста? В дополнение к ответу Дэвида (который звучит правильно) это может быть вокруг этого. –