我正在通过MVC Music Store tutorial工作,并遇到了一个小问题/查询。实体框架.find(id)NullReferenceException
我期待通过它的ID找到相册。
var album = db.Albums.Find(id)
然而,这工作得很好,如果ID不存在,然后我得到一个NullReferenceException当控制器通过一个空模型视图。
我可以想出2种方法来解决这个问题。方法1:检查控制器中的空值,如果为null,则显示不同的视图/重定向到不同的操作,如索引页或专用错误页/ 404找不到页面。方法2:检查模型在视图中是否为空,如果是,则不显示模型特定项目,而是显示错误消息。
@model MvcMusicStore.Models.Album
@{
ViewBag.Title = "Details";
}
@if (Model == null)
{
<h2>That album doesn't exist</h2>
}
else
{
<h2>Details: @Model.Title</h2>
}
的问题是:是否有任何其他方式/ 最佳实践方式处理这个问题?方法1和方法2有什么优点?