ASP.NET MVC 如何将数据从 GET ActionResult 传递到同一视图的 POST ActionResult

ASP.NET MVC How to pass data from a GET ActionResult to the POST ActionResult of the same view

我有这些创建 ActionResults:

   // GET: WC_Inbox/Create
        public ActionResult Create(int? id)
        {
            System.Diagnostics.Debug.WriteLine("Employee ID was: " + id);
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Employee employee = db.Employees.Find(id);
            if (employee == null)
            {
                return HttpNotFound();
            }
            string fullName = employee.First_Name + " " + employee.Last_Name;
            System.Diagnostics.Debug.WriteLine("Employee full name: " + fullName);
            ViewBag.EmployeeID = id;
            ViewBag.Name = fullName;
            ViewBag.Status = "Pending";
            return View();
        }

        // POST: WC_Inbox/Create
        // To protect from overposting attacks, enable the specific properties you want to bind to, for 
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "ID,InboxID,EmployeeID,Org_Number,Hire_Date,Job_Title,Work_Schedule,Injury_Date,Injury_Time,DOT_12,Start_Time,Injured_Body_Part,Side,Missing_Work,Return_to_Work_Date,Doctors_Release,Treatment,Injury_Description,Equipment,Witness,Questioned,Medical_History,Inbox_Submitted,Comments,User_Email,Contact_Email,Specialist_Email,Optional_Email,Optional_Email2,Optional_Email3,Optional_Email4,Status,Add_User,Date_Added")] WC_Inbox wC_Inbox)
        {
            if (ModelState.IsValid)
            {
                //Get logged in windows user, get the date right now, and create the wcInbox unique ID
                var userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                wC_Inbox.Add_User = userName;
                wC_Inbox.Date_Added = DateTime.Today;
                db.WC_Inbox.Add(wC_Inbox);
                db.SaveChanges();
                SendEmailIQ();
                return RedirectToAction("Index");
            }

            ViewBag.EmployeeID = new SelectList(db.Employees, "ID", "First_Name", wC_Inbox.EmployeeID);
            return View(wC_Inbox);
        }

我需要将值 fullName 从 GET 方法传递给 POST 方法。有几篇帖子询问如何将数据从一个动作结果传递到另一个动作结果,但我还没有看到这样的帖子。我不知道如何将数据从 GET Create 传递到 POST Create 或如何在发送后检索数据。

您无法在 post 方法中需要数据时从 get 方法发送或检索数据,因为 Get 方法已完成执行并已清理。我建议您在 post 请求发出时在页面上添加一个隐藏字段以 posted 或重新获取 post 请求中的数据。