Почему ни один из моих ActionFilters не работает?

Мне удалось решить эту проблему, используя метод jQuery animate (). Вот пример реализации, с которой я пошел:

$('#content').animate({ scrollTop: elementOffset }, 200);

Селектор получает div с ID = "content". Затем я применяю метод animate к нему с опцией scrollTop. Второй параметр - это время в миллисекундах для продолжительности анимации. Я надеюсь, что это поможет кому-то еще.

8
задан Community 23 May 2017 в 11:55
поделиться

2 ответа

На основании ваших комментариев к другому ответу

При тестировании с помощью модульных тестов фильтр не вызывается. Если вы хотите вызвать фильтр, вам нужно имитировать ControllerActionInvoker. Вероятно, лучше протестировать сам фильтр изолированно, а затем использовать отражение, чтобы убедиться, что фильтр применяется к вашему действию с правильными атрибутами. Я предпочитаю этот механизм тестированию фильтра и действия в комбинации.

Исходный

Конечно, вам нужно переопределить в вашем методе, иначе вы фактически не замените метод в базовом классе. Я ожидал, что компилятор будет жаловаться, что вам нужно либо новое , либо переопределение . Если вы не включите ключевое слово override , оно будет вести себя так, как если бы вы использовали new . не предшествует new или override ключевые слова, компилятор выдаст предупреждение, и метод будет вести себя как если присутствовало новое ключевое слово.

4
ответ дан 5 December 2019 в 13:01
поделиться

В дополнение к тому, что сказал Тванофоссон, ваш метод действия на самом деле ничего не отображает в представлении. Есть ли в вашем представлении оператор <% = TempData ["Filter"]. ToString ()%> или что-то подобное?

0
ответ дан 5 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: