首页 > 解决方案 > 通过控制器显示消息“已标记出勤”

问题描述

我正在开发一个在线考勤门户,其中我在控制器中设置了一个条件,即用户不能每天两次标记考勤。他们每天只能标记出勤一次。因此,如果员工在同一日期第二次标记出勤,我想在“创建”视图页面上显示“出勤已标记”的消息。我设置了一条警报消息,但我想在员工标记出勤的视图页面上显示一条消息。我已经搜索了很多,但找不到更好的。

这是我的控制器代码

 [Authorize]
        public ActionResult Create()
        {
            Employee employee = JsonConvert.DeserializeObject<Employee>(User.Identity.Name);

            return View(new Attendance() { Emp_Id = employee.Emp_Id });
        }

        [HttpPost]
        public ActionResult Create(Attendance attendance)
        {
            
              if (ModelState.IsValid)
            {
                try
                {
                    var attdate = attendance.Date;
                    var nextdate = attdate.AddDays(1);
                    var id = Convert.ToInt32(Session["UserID"]);
                    var isExist = db.Attendance.FirstOrDefault(i => i.Emp_Id == id && i.Date == attdate && i.Date < nextdate);
                    
                   if (isExist != null)
                    {
                   //Here i set the alert but i want to show message on view page.
                        return Content("<script language='javascript' type='text/javascript'>alert('Your Attendance is Already Marked');</script>");
                    }
                    else
                    {
                        //var res = tempDate.Date;
                        db.Attendance.Add(attendance);
                        db.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.InnerException.Message);
                }
            }

            return RedirectToAction("Index", "Attendance");
        }

标签: javascriptjqueryasp.net-mvc

解决方案


控制器:

if (isExist != null)
{
   TempData["Msg"] = "Your Attendance is Already Marked'"
}

看法:

<body>
@if (TempData["Msg"] != null)  
{  
     <script type="text/javascript">  
         window.onload = function () {  
             alert(@TempData["Msg"]);  
          };  
      </script>  
}  
</body>

推荐阅读