WebGrid替换字符串空引用异常中的函数

时间:2014-09-18 23:36:22

标签: string replace nullreferenceexception webmatrix webgrid

我一直在

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 54:                        string review = item.Review;
Line 55:                        //review = review.Replace("\r\n", "<br/>");
Line 56:                        return review.Replace("\r\n", "<br/>");
Line 57:                     }),
Line 58:                     grid.Column(format: @<a href="~/DeleteMovie?id=@item.ID">Delete</a>)

.......................行:56

当我尝试使用Replace函数进行字符串检查时。我在第54行创建并设置了审核实例,它将输出我期待的文本。但是当我尝试替换时,我得到了这个错误。为什么呢?

1 个答案:

答案 0 :(得分:1)

第54行没有创建 review的实例,而只是指向可能为空的item.Review值。

据推测,在这种情况下,item.Review本身为空,因此review也为空。

你可以做的一件事就是改变第54行:

string review = item.Review ?? "";

这将确保review永远不为空。它要么具有item.Review的内容,要么是一个空字符串(不为空)。