asp.net-mvc - 批准请求后将更改保存到数据库
问题描述
我正在构建一个假期跟踪网络应用程序。
在我的应用程序中,员工可以通过创建假期申请表登录并申请假期。
当他们创建申请表时,必须得到经理的批准。因此,在 Approved 设置为 true 之前,我不希望将更改保存到数据库中!
我是否通过 if 语句来做到这一点?
我是否必须创建另一个页面,管理员可以在其中查看所有请求并将特定请求设置为 true?
这是我的假期申请表模型:
public partial class HolidayRequestForm
{
public int RequestID { get; set; }
public int EmployeeID { get; set; }
public System.DateTime StartDate { get; set; }
public System.DateTime FinishDate { get; set; }
public int HoursTaken { get; set; }
public string Comments { get; set; }
public int YearCreated { get; set; }
public int MonthCreated { get; set; }
public int DayCreated { get; set; }
public Nullable<int> YearOfHoliday { get; set; }
public Nullable<bool> Approved { get; set; }
}
这是我的控制器部分:
public ActionResult Create()
{
return View();
}
// POST: HolidayRequestForms/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "RequestID,EmployeeID,StartDate,FinishDate,HoursTaken,Comments,YearCreated,MonthCreated,DayCreated,YearOfHoliday,Approved")] HolidayRequestForm holidayRequestForm)
{
if (ModelState.IsValid)
{
db.HolidayRequestForms.Add(holidayRequestForm);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(holidayRequestForm);
}
这是我尝试过的:
public ActionResult Create([Bind(Include = "RequestID,EmployeeID,StartDate,FinishDate,HoursTaken,Comments,YearCreated,MonthCreated,DayCreated,YearOfHoliday,Approved")] HolidayRequestForm holidayRequestForm)
{
if (ModelState.IsValid)
{
holidayRequestForm.Approved = true;
db.HolidayRequestForms.Add(holidayRequestForm);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(holidayRequestForm);
}
但它不起作用。
我希望只有在请求设置为 true 后才能将更改保存到数据库。
解决方案
尝试这个:
public ActionResult Create([Bind(Include = "RequestID,EmployeeID,StartDate,FinishDate,HoursTaken,Comments,YearCreated,MonthCreated,DayCreated,YearOfHoliday,Approved")] HolidayRequestForm holidayRequestForm)
{
if (ModelState.IsValid && (holidayRequestForm.Approved == true))
{
db.HolidayRequestForms.Add(holidayRequestForm);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(holidayRequestForm);
}
推荐阅读
- r - R 检查数据框中是否存在元素并返回其索引
- php - 如何以月、年的格式显示已经保存在 sql 中的 html 月标记输入?
- mysql - 实体框架主干 json 大小为 65535
- rebol - Red 的 5 种函数类型之间的区别,为什么要区分它们?
- delphi - 为什么 Delphi 中的嵌套子程序会有性能损失?
- sql - 如何使用 SQL Server 数据库中的另一个表编写子查询以连接姓氏和名字?
- laravel - 未定义的属性:Illuminate\Database\MySqlConnection::$quizUser
- swift - 在 UINavigationController 下键入时 UISearchController 向上移动
- variables - 地形变量
- c# - 在模型中存储函数