Редактирование модели. Ошибка. The model item passed into the dictionary is of type 'System.Data.Entity.DbSet`1[justfortest.Models.Book]'

289
08 марта 2017, 16:51

Пытаюсь создать редактирование модели. Выскакивает ошибка:

Index.cshtml :

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/_Layout.cshtml"; 
} 
@model justfortest.Models.Book 
 
@using (Html.BeginForm("Index", "Home", FormMethod.Post)) 
{ 
    <fieldset> 
        @Html.HiddenFor(m => m.Id) 
        <p> 
            @Html.LabelFor(m => m.Name, "Название книги") 
            <br /> 
            @Html.EditorFor(m => m.Name) 
        </p> 
        <p> 
            @Html.LabelFor(m => m.Author, "Автор") 
            <br /> 
            @Html.EditorFor(m => m.Author) 
 
        </p> 
        <p> 
            @Html.LabelFor(m => m.Price, "Цена") 
            <br /> 
            @Html.EditorFor(m => m.Price) 
        </p> 
        <p><input type="submit" value="Отправить" /></p> 
    </fieldset> 
}

HomeController:

BookContext db = new BookContext();
[HttpGet]
public ActionResult Index()
{
    return View(db.Books);
}
[HttpPost]
public ActionResult Index(Book book)
{
    db.Entry(book).State = EntityState.Modified;
    db.SaveChanges();
    return RedirectToAction("Index");
}

protected override void Dispose(bool disposing)
{
    db.Dispose();
    base.Dispose(disposing);
}

Модели есть. Таблицы БД заполнены данными

Answer 1

Ты передаешь в представление модель с типом DbSet<Book>

return View(db.Books);

но ожидаешь в разметке justfortest.Models.Book как и ожидаешь в методе public ActionResult Index(Book book). И справедливо получаешь исключение, в процессе обработки разметки, из-за рассогласованных типов моделей.

READ ALSO
Как в с# парсить куки созданные в javaScript?

Как в с# парсить куки созданные в javaScript?

Собственно вопрос заданЧасто на сайтах некоторые куки задаются не через Response, динамически при отработке javaScript

233
Сессии пользователя на php

Сессии пользователя на php

Пишу аторизацию пользователя через вк

283
Вывод категорий

Вывод категорий

Как менее нагружённо сделать вывод категорий, на сайте имеется более 100 категорийСделать таблицу в MySQL с названием категорий и ид или записать...

236
Запрос в БД через PDO

Запрос в БД через PDO

Добрый ночиЕсть такая таблица

253