【问题标题】:Value Cannot be Null; Parameter Name 'Source'值不能为空;参数名称“来源”
【发布时间】:2020-02-16 15:59:29
【问题描述】:
 @if ( Model.Select(p=>p.Payments.Any(o=>o.Expires>DateTime.Now))!= null)
 { 

 <table class="table">
     <tr>
         <th>
             @Html.DisplayName("Student ID")
         </th>

         <th>
             @Html.DisplayName("Full Name")
         </th>

         <th>
             @Html.DisplayName("Expiry Date")
         </th>

         <th>
             @Html.DisplayName("Contact Number")
         </th>
         <th></th>


         @foreach (var item in Model.Where(p => p.Payments.Any(o => o.Expires > DateTime.Now)))
         {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.StudentID)

这是在 MVC 项目中,这是我想向当天过期的学生展示的主页。我使用了If 语句,但我很困惑为什么会出现该异常。

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    我已经测试了代码,如果模型为空,你确实会得到空异常。

    这里的问题在于您的逻辑流程 - 首先做出选择,然后检查可空性。

    if 块中 - 先检查 null 然后选择结果:

    if (Model != null && Model.Select(p => p.Payments.Any(o => o.Expires > DateTime.Now)).Any())
    

    【讨论】:

      猜你喜欢
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多