javascript - 通过控制器显示消息“已标记出勤”
问题描述
我正在开发一个在线考勤门户,其中我在控制器中设置了一个条件,即用户不能每天两次标记考勤。他们每天只能标记出勤一次。因此,如果员工在同一日期第二次标记出勤,我想在“创建”视图页面上显示“出勤已标记”的消息。我设置了一条警报消息,但我想在员工标记出勤的视图页面上显示一条消息。我已经搜索了很多,但找不到更好的。
这是我的控制器代码
[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");
}
解决方案
控制器:
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>
推荐阅读
- python - 通过 API 上传到 Dropbox 的文件是二进制的
- r - 使用R中for循环中的if语句将一组字符串折叠成一个字符串
- reactjs - Input Type=Date 不显示初始化值
- c++ - 使用代理对象延迟更新与“使用自定义构造和销毁避免未命名对象”
- android - 如何在 Retrofit2 中传递承载 API 密钥?
- javascript - 查明最后一个站点是否与原点相同
- kotlin - 如何在 Kotlin 中按字母顺序对字符串进行排序
- sql - 获取每组最频繁的值
- javascript - 如何用JS获取嵌入式网站的文档?
- excel - 提高将非常慢的文件附加到主文件的速度