Vivek.anand34 Ответов: 1

Как получить значения из представления SQL и обновить значения в таблице в MVC


уважаемый друг,

Я разработал экран элементов, я создал представление с двумя таблицами в базе данных и извлекаю значения из представления, чтобы обновить значения.

Но это делает ошибку:
Элемент модели, передаваемый в словарь, имеет тип telecom.models. itemrates, но для этого словаря требуется элемент модели типа telecom.models. vw_items

Что я уже пробовал:

Модель:
Vw_Items открытый класс
{
public int Id { get; set; }
публичная строка RateCode { get; set; }
общественного строка артикул { получить; набор; }
[DisplayName ("Имя Элемента")]
общественного строка имя { получить; набор; }
[DisplayName ("Тип Элемента")]
public string ItemType { get; set; }
общественного строка ЕИ { получить; набор; }
[Требуемый]
[DisplayName ("Цена Единицы Измерения")]
публичная десятичная дробь? Цена { получить; набор; }
}
Контроллер:

[HttpPost]
public ActionResult Edit(ItemRates itemrates)
{
if (ModelState.Функция IsValid)
{
дБ.Запись(itemrates).State = EntityState.Модифицированный;
дБ.Метод SaveChanges();
return RedirectToAction ("индекс");
}
смотреть возвращение(itemrates);
}
Смотреть:
@модель связи.Модели.Vw_Items

F-ES Sitecore

Представление хочет получить модель типа Vw_Items

@модель связи.Модели.Vw_Items

Вы передаете itemrates, который относится к типу ItemRates.

смотреть возвращение(itemrates);

Вот в чем проблема, мы недостаточно знаем о вашем решении, чтобы предложить ответ, хотя вы не объяснили, что такое Vw_Items или его отношение к ItemRates, мы не видим код в вашем представлении и т. д.

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

Цитата:
Элемент модели, передаваемый в словарь, имеет тип telecom.models. itemrates, но для этого словаря требуется элемент модели типа telecom.models. vw_items

прямолинейная проблема, измените тип параметра в действии редактирования
[HttpPost]
public ActionResult Edit(Vw_Items  item)
{


Vivek.anand34

спасибо. но эта ошибка: System.Data.SqlClient.SqlException: представление или функция 'dbo.Vw_Items' не может быть обновлена, поскольку модификация затрагивает несколько базовых таблиц.

Vivek.anand34

Я думаю, что это займет все столбцы для обновления... но я хочу обновить "ItemCode" и "Unit Price", что является проблемой. я думаю. И все поля поля артикул и цена единицы только текстовое поле

Vivek.anand34

Как решить эту проблему.. кто-нибудь подскажет идею, пожалуйста..

Karthik_Mahalingam

Есть ли какая-либо связь в таблицах

Vivek.anand34

Я теперь немного меняю код.:
[HttpPost]
public ActionResult Edit(vw_items itemrates)
{
if (ModelState.Функция IsValid)
{
ВАР currentPerson = дБ.ItemRates.FirstOrDefault(p => p.Id = = itemrates.Айди);
currentPerson.Цена = itemrates.Цена;
currentPerson.GetDate = DateTime.Сейчас;
currentPerson.GetUser = Session ["LogedUser"].Метод toString();
дБ.Запись(currentPerson).State = EntityState.Модифицированный;
дБ.Метод SaveChanges();
return RedirectToAction ("индекс");
}
смотреть возвращение(itemrates);
}

Karthik_Mahalingam

является ли Vw_Items представлением или таблицей?
какова связь между vvitems и ItemRates