将Null传递给ActionResult会导致错误,但逻辑似乎正确

时间:2019-06-10 00:13:03

标签: c# asp.net-mvc

情况

我正在一个项目上,在该项目中,用户填写了应用程序并能够附加文档。 文档数量可能会有所不同,因此我将其存储在单独的表中,并通过应用程序ID进行关联。

到目前为止,我的表单有两个选项卡,一个选项卡包含详细信息,另一个选项卡用于附加文档。 这样做的原因是,如果用户单击添加文档,我将提示他们首先保存表单。这样,一旦保存了表单,我将拥有将表单与所附文档相关联的应用程序ID。

问题

这里出现问题

<div class="form-horizontal tab-pane" id="dvAttach">
         @Html.Action("documentList", "Application", new { id = Model.applicationID })
</div>

加载表单时,我打算将applicationID传递给应用程序控制器中的方法,该方法将基于该ID列出所有已附加的文档。但是,在创建时当然没有applicationID,因此它为null。我没有将错误传递给documentList方法,而是得到了错误Model.get returned null。 PS applicationID是字符串数据类型。

问题

如何处理这种情况,以便即使我没有应用程序ID并返回null也可以加载此页面。

更新

            @if (@Model.applicationID != null)
            {
                @Html.Action("documentList", "Application", new { id = Model.applicationID })
            }

也给我一个空错误

1 个答案:

答案 0 :(得分:0)

因为页面正在加载,所以Model.applicationID中没有值。因此最好进行检查,无论Model不为null还是Model.applicationID值不为null。