MVC Linq。错误:传入字典的模型项为 null,但此字典需要类型“System.DateTime”的非 null 模型项。

木乃伊x 2012-07-08 03:52:03
下面是视图的代码:

<tr>
<th scope="row">
<%: Html.LabelFor(model => model.PlanDate) %>
</th>
<td>
<%: Html.EditorFor(model => model.PlanDate, String.Format("{0:g}", Model.PlanDate))%><!-- 提示的错误语句-->
<%: Html.ValidationMessageFor(model => model.PlanDate) %>
</td>
</tr>


注:model.PlanDate是一个DateTime类型的,从数据库中读取的,值可能为null,当为null时,就出现下面的错误。我是MVC菜鸟,希望有高手指点一下,谢谢!!


错误提示内容:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

传入字典的模型项为 null,但此字典需要类型“System.DateTime”的非 null 模型项。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 传入字典的模型项为 null,但此字典需要类型“System.DateTime”的非 null 模型项。


...全文
418 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
木乃伊x 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
如果是时间是null不要调用 String.Format方法,直接置空""就可以了
[/Quote]
问题并不是出在string.format(..),
而是它前面的部分“model => model.PlanDate”
人生无悔 2012-07-08
  • 打赏
  • 举报
回复
如果是时间是null不要调用 String.Format方法,直接置空""就可以了
EnForGrass 2012-07-08
  • 打赏
  • 举报
回复
很明显啊
你可以让查出来为null 的设置一个默认时间值

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧