после успешной вставки данных распечатать информацию на другой странице

avatar
nischalinn
9 августа 2021 в 06:47
48
1
0

После сохранения моих данных в базе данных я хочу отобразить информацию, введенную пользователем, на другой странице (printRegInfo.cshtml). Как мне это сделать?

public ActionResult Create(FirmServiceRegistrationViewModel firmServiceReg)
        {
            try
            {
                ViewBag.ServiceId = new SelectList(db.ServicesModels, "ServiceId", "ServiceName");
                if (ModelState.IsValid)
                {
                    FirmsModel frm_ = new FirmsModel();
                    frm_.Name = firmServiceReg.Name;                    
                    frm_.PropName = firmServiceReg.PropName;
                    frm_.Address = firmServiceReg.Address;
                    db.FirmsModels.Add(frm_);
                    db.SaveChanges();
                    int frmId = frm_.FirmId;

                    FirmServiceRegistrationModel frmServReg = new FirmServiceRegistrationModel();
                    frmServReg.ServiceId_ = firmServiceReg.ServiceId;
                    frmServReg.FirmId_ = frmId;

                    db.FirmServiceRegistrationModels.Add(frmServReg);
                    db.SaveChanges();
                }                
                return View();
            }
            catch (Exception)
            {
                throw;
            }
        }

Теперь при успешной вставке данных я хочу передать данные, введенные пользователем [Name, PropName, Address], на страницу просмотра, например printRegInfo.cshtml. Как мне это сделать?

Источник
Serge
12 августа 2021 в 00:24
0

Как называется действие, на которое нужно перенаправить. Пожалуйста, покажите это. Это один и тот же контроллер?

Ответы (1)

avatar
Ranjith.V
9 августа 2021 в 07:58
2

Приведенный ниже код просто получает введенную информацию и переносит ее на другую страницу, используя временные данные. Следовательно, вам нужно преобразовать данные в соответствии с моделью и заполнить их в представлении.

 public ActionResult Create(FirmServiceRegistrationViewModel firmServiceReg)
    {
        try
        {
            ViewBag.ServiceId = new SelectList(db.ServicesModels, "ServiceId", "ServiceName");
            if (ModelState.IsValid)
            {
                FirmsModel frm_ = new FirmsModel();
                frm_.Name = firmServiceReg.Name;                    
                frm_.PropName = firmServiceReg.PropName;
                frm_.Address = firmServiceReg.Address;
                db.FirmsModels.Add(frm_);
                db.SaveChanges();
                int frmId = frm_.FirmId;

                FirmServiceRegistrationModel frmServReg = new FirmServiceRegistrationModel();
                frmServReg.ServiceId_ = firmServiceReg.ServiceId;
                frmServReg.FirmId_ = frmId;

                db.FirmServiceRegistrationModels.Add(frmServReg);
                db.SaveChanges();

                TempData["FirmRegData"]=frm_;
            }                
            return RedirectToAction("printRegInfo","ControllerName");
        }
        catch (Exception)
        {
            throw;
        }
    }

public ActionResult printRegInfo()
    {
        try
        {
            FirmsModel frm_ =(FirmsModel)TempData["FirmRegData"];

          // Here you will get all entered info.
             
            
         }                
            return view(frm_);
        }
        catch (Exception)
        {
            throw;
        }
    }
nischalinn
10 августа 2021 в 05:14
0

Спасибо за ответ. У меня есть одна путаница относительно return RedirectToAction("printRegInfo","ControllerName");. Какой здесь первый параметр, и вы уже определили имя контроллера как printRegInfo(). Просьба уточнить.

Henry24
10 августа 2021 в 14:56
0

printRegInfo — это имя ActionResult, второй параметр — это имя вашего контроллера.