Сама ошибка компилятора не имеет ничего общего ни с ViewComponents, ни с 4 параметрами: проблема в "2"
в вашем анонимном типе, который недопустим. Создаваемый вами анонимный тип имеет следующие четыре параметра:
A = Model.A
filter = "B"
C = Model.C
D = Model.D
- здесь создается имя D
для анонимного типа неявно .
Однако следующий параметр - "2
", без имени и неявного создания свойства. Если вы хотите, чтобы последний параметр компилировался, вам нужно дать ему собственное имя, например:
new { A = Model.A, filter = "B", C = Model.C, Model.D, E = "2" }
EDIT
Я должен был упомянуть, что вам понадобятся имена свойств анонимного типа, совпадающие с теми, которые объявлены в вашей функции InvokeAsync
, что означает, что вам нужно изменить filter
на B
, чтобы чтобы эта часть работала. ответ Тодда Скелтона предлагает более безопасный подход к решению этой проблемы, однако.