Похоже, Controller
является зарезервированным ключевым словом, а связывателю модели по умолчанию это не нравится.Попробуйте переименовать свойство:
public class TaskViewModel
{
public UserViewModel TaskController { get; set; }
public UserViewModel AssignedTo { get; set; }
}
Вся проблема связана с ValueProvider, который использует связыватель модели по умолчанию.Когда он встречает свойство навигации Controller
, он делает это:
var value = ValueProvider.GetValue("Controller");
, который, к сожалению, сначала просматривает данные маршрута, а затем - в строке запроса.Таким образом, это возвращает «Home» или любое другое имя контроллера и, очевидно, попытка присвоить строку «Home» классу типа UserViewModel
не может привести к успеху.