Как получить имя из таблицы и передать для просмотра через Tempdata в .net MVC

#c# #.net #asp.net-mvc #entity-framework

Вопрос:

Класс модели-это студент бд является объектом класса StudentContext В строке 8, я хочу напечатать имя студента вместе с данными TempData[«deleteMessage»], которые я удалил

введите описание изображения здесь
»’

 public ActionResult Delete(Student s)
        {
            db.Entry(s).State = EntityState.Deleted;
            int a = db.SaveChanges();
            string nameof = s.Name;
            if(a > 0)
            {
                TempData["DeleteMessage"] = "Student's Data Deleted.";
                
                return RedirectToAction("Index");
            }
            else
            {
                TempData["DeleteMessage"] = "Student's Data Not Deleted.";
            }
            return View();  
        }
 

»’

Комментарии:

1. Какое имя вы имеете в виду?

Ответ №1:

Вы можете использовать интерполяцию строк, но вам также придется передать это действию, на которое вы перенаправляете (не уверен, каковы ваши временные данные, поэтому информация может быть потеряна при перенаправлении).:

 public ActionResult Delete(Student s)
{
    db.Entry(s).State = EntityState.Deleted;
    int a = db.SaveChanges();

    if(a > 0)
    {
        TempData["DeleteMessage"] = $"Student {s.Name}'s data has been deleted.";
        
        // Make sure your "index" action has the parameter deleteMessage
        return RedirectToAction("Index", new { deleteMessage = TempData["DeleteMessage"] });
    }
    else
    {
        TempData["DeleteMessage"] = "Student's Data Not Deleted.";
    }

    return View();  
}
 

Если бы свойство имя записи студента имело имя «Боб», то сообщение об удалении (при условии, что a > 0) было бы «Данные студента Боба удалены».