Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net c#如何处理null?_C#_Asp.net - Fatal编程技术网

asp.net c#如何处理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(

我正在做一个报告时间报告的项目。现在我正在制作一个你可以报道假期的功能。从现在到现在。但是,当您只需单击“发送”按钮而不必在我的两个字段中输入任何内容时,它将由于null异常而崩溃

[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分钟都不能接受它,我忘了。呵呵,谢谢你提醒我。