我正在构建一个假期跟踪网络应用程序。
在我的应用程序中,员工可以通过创建假期申请表登录并请求假期。
他们创建申请表时,必须得到经理的批准。因此,在将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后,才能将更改保存到数据库中。
答案 0 :(得分:0)
我是否通过if语句来做到这一点?
是的,一旦经理批准假期,将其存储在表中并在提交表单时进行检查,如下所示:
If(holidayRequestForm.Approved)
{
//Write your logic of form submission.
}
我是否必须创建另一个页面,管理员可以在其中查看所有请求并将特定请求设置为true?
这取决于您的要求以及客户希望页面外观的方式。由于批准和提交逻辑将分开,因此开发其他页面会更好。
答案 1 :(得分:0)
尝试一下:
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);
}