Loading...
IvaYorgova avatar IvaYorgova 17 Точки

Exam - 23 December 2020 - CarShop

Здравейте колеги,

като се опитвам да добавя нова кола при натискане на бутона Add хвърля тази грешка:

System.InvalidCastException: Invalid cast from 'System.String' to 'CarShop.ViewModels.Cars.AddCarModel'.

Някой може ли да даде съвет какво да направя?

Благодаря!

Ива

 

Тагове:
0
C# Web Development Basics
Axiomatik avatar Axiomatik 2422 Точки
Best Answer

Without any demo-code hard to say where the exception is being triggered but some data binding from the Add-form is not working,  in CarsController should be:

        [HttpPost]
        public HttpResponse Add(CarInputModel inputModel)
        {
            if (!this.IsUserSignedIn())
            {
                return this.Redirect("/Users/Login");
            }

            ... All necessary validations

            var carId = this.carsService.Create(inputModel.Model, inputModel.Year, inputModel.Image, inputModel.PlateNumber);

            return this.Redirect($"/Issues/CarIssues?carId={carId}");
        }

In CarsService:

        public string Create(string name, int year, string image, string plateNumber)
        {
            var car = new Car
            {
                Model = model,
                Year = year,
                Image = image,
                PlateNumber = plateNumber,
            };

            this.dbContext.Cars.Add(car);

            this.dbContext.SaveChanges();

            var carId = car.Id;

            return carId;
        }

Hope this works,

0
IvaYorgova avatar IvaYorgova 17 Точки

Благодаря ти много!

Трябваше още да добавя OwnerId при създаването на колата и тръгна.

Успешен ден!

0
tanov avatar tanov 2 Точки

От къде точно извади OwnerId ? HttpContext или?

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.