Заполните данные в раскрывающемся списке не отображаются в asp - net -core / c#? - PullRequest
0 голосов
/ 23 апреля 2020

Я столкнулся с проблемой, когда у меня есть форма, которая внутри формы у меня есть раскрывающийся список, где я получаю данные от моего контроллера (бэкэнда), но по какой-то причине я не заполняю данные на моем внешнем интерфейсе. У меня есть та же форма в другом файле .cs html, который EvaluationController, и я реализую ту же форму в файле index.cs html, и он использует HomeController. Мне нужна помощь, где я сделал неправильно, что данные не заполняются на переднем конце? Пожалуйста и спасибо за вашу помощь.

вот мой код:

HomeController:

        public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly IHttpClientFactory _httpClientFactory;
        private IMemoryCache _cache;

        public HomeController(ILogger<HomeController> logger, IHttpClientFactory httpClientFactory, IMemoryCache memoryCache)
        {
            _logger = logger;
            _httpClientFactory = httpClientFactory;
            _cache = memoryCache;
        }

        public IActionResult Index()
        {
            ViewBag.Cache = _cache;

             return View();
        }



        public IActionResult Privacy()
        {

            return View();
        }



        [AllowAnonymous]
        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    } 

1 Ответ

0 голосов
/ 23 апреля 2020

В соответствии с ошибкой:

Элемент модели, переданный в ViewDataDictionary, имеет тип 'System.Collections.Generi c .List`1 [MyApp.Models.Evaluation]', но Для этого экземпляра ViewDataDictionary требуется элемент модели типа 'MyApp.Models.Evaluation'

. В вашем EvaluationController на Index вы возвращаете список:

public ActionResult Index()
{
    return View(new List<Evaluation>());
}

It должно быть:

public ActionResult Index()
{
    return View(new Evaluation());
}

или изменить модель в вас Index.cs html на что-то вроде @model List<Evaluation>();.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...