Хорошо, у меня есть приложение MVC. и я пытаюсь заставить мой удалить работать. По сути, я хочу, чтобы, когда я нажимаю «Удалить», я переходил на страницу с надписью «Вы уверены?» у меня это работает, проблема заключается в перехвате запроса и на самом деле делает удаление. Я пробовал разные методы. как показано ниже.
public ActionResult Delete(int id)
{
var something = friendsDB.Friends.Single(a => a.Id == id);
return View(something);
}
[HttpPost]
public ActionResult Delete(int id, string confirmButton)
{
var something = friendsDB.Friends.Single(a => a.Id == id);
// For simplicity, we're allowing deleting of albums
// with existing orders We've set up OnDelete = Cascade
// on the Album->OrderDetails and Album->Carts relationships
friendsDB.DeleteObject(something);
friendsDB.SaveChanges();
return View("Index");
}
Это не работает, причина, удаление объекта и сохранение сохраняются
"C: \ Users \ Mtszc \ Documents \ Визуальное
студия
2010 \ Проекты \ Test \ Test \ Content \ Контроллеры \ DownloadsController.cs (36,23):
Ошибка CS1061: «Test.Models.FriendsDB»
не содержит определения для
«DeleteObject» и без метода расширения
«DeleteObject» принимает первый
аргумент типа
'Test.Models.FriendsDB' может быть найден
(Вы пропустили директиву использования или
ссылка на сборку?) "
Второе, что я попробовал, было
public ActionResult Delete(int id)
{
var something = friendsDB.Friends.Single(a => a.Id == id);
return View(something);
}
[HttpDelete]
public ActionResult Delete(Friend myFriend)
{
try
{
friendsDB.Friends.DeleteOnSubmit(myFriend);
friendsDB.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
это не сработало. он скомпилирован, но когда я нажимаю «удалить», и он переходит на страницу, где я говорю, что я уверен, что хочу удалить, он возвращает представление, которое было подвохом, то есть попытка не удалась.
это простая база данных sql, которую я создал, Id, name, link. и я использую linq к классу sql. я могу создавать и просматривать, но не удалять.