asp.net c#如何处理null?
我正在做一个报告时间报告的项目。现在我正在制作一个你可以报道假期的功能。从现在到现在。但是,当您只需单击“发送”按钮而不必在我的两个字段中输入任何内容时,它将由于null异常而崩溃asp.net c#如何处理null?,c#,asp.net,C#,Asp.net,我正在做一个报告时间报告的项目。现在我正在制作一个你可以报道假期的功能。从现在到现在。但是,当您只需单击“发送”按钮而不必在我的两个字段中输入任何内容时,它将由于null异常而崩溃 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(DateTime fromDate, DateTime toDate, string comment) { using (IDatabaseLayer db = new DatabaseLayer(
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(DateTime fromDate, DateTime toDate, string comment)
{
using (IDatabaseLayer db = new DatabaseLayer())
{
if (fromDate != null || toDate != null)
{
db.InsertVacation(Constants.CurrentUser(User.Identity.Name), fromDate, toDate, comment);
ViewData.Model = db.GetUserVacations(Constants.CurrentUser(User.Identity.Name));
}
}
SendVacationMail(fromDate, toDate, comment);
ViewData["posted"] = true;
return View();
}
调试时,除非“我的字段”中有值,否则不会命中此代码块。您可能只需要执行操作即可获得可为空的参数:
public ActionResult Index(DateTime? fromDate, DateTime? toDate, string comment)
{
}
请注意,
DateTime
值不能为null,因为它是值类型(它是一个结构)。您必须使其可为空,即使用nullable
或DateTime?
您可能只需要执行操作即可获得可为空的参数:
public ActionResult Index(DateTime? fromDate, DateTime? toDate, string comment)
{
}
请注意,
DateTime
值不能为null,因为它是值类型(它是一个结构)。您必须使其可为空,即使用可为空
或日期时间?
@codroipo,但如果我的值为空,它甚至不会击中块。使用&
操作符而不是|
@Sybren dosen不管我使用什么操作符,如果我的字段为空,并且我按submit键,则即使块未命中,它也不会命中此块| | |如果您希望两个值都不为null
@codroipo,那么这里的运算符是错误的,但是如果我的值为空,它甚至不会命中该块。使用&
运算符而不是|
@Sybren dosen不管我使用什么运算符,如果我的字段为null,并且我按submit,则即使块未命中,它也不会命中此块| |这里的运算符是错误的,如果您希望两个值都不为null
对,我应该想到这一点。。谢谢。@foobar你为什么不把问题标记为已回答?好点,伙计!因为当e第一次发布它的时候,我试过了,当它起作用的时候,我很想接受它,但是我10分钟都不能接受它,我忘了。呵呵,谢谢你提醒我。对了,我应该想到的。。谢谢。@foobar你为什么不把问题标记为已回答?好点,伙计!因为当e第一次发布它的时候,我试过了,当它起作用的时候,我很想接受它,但是我10分钟都不能接受它,我忘了。呵呵,谢谢你提醒我。