C#Razor:为什么这个空检查失败

本文关键字:检查 失败 为什么 C#Razor | 更新日期: 2023-09-27 17:57:40

嗨,我正在使用带有umbraco cms的C#剃须刀。我试图检查一个变量是null还是空的,但它总是返回一个错误。这是代码

@if(String.IsNullOrEmpty(@Model.originalPageLink) == false)
{
   <div>Read the original page from <a href="@Model.originalPageLink">@Model.originalPageName</a></div>
}

加载页面时,剃刀脚本出错。没有特别有用的错误信息。代码中给我带来问题的部分是:

@if(String.IsNullOrEmpty(Model.originalPageLink) == false)

我在这里尝试过这个代码:

@if(Model.originalPageLink != null)

这段代码不会出错,但当字符串真的为null时,它会返回一个非null值。

对此有什么想法吗?

C#Razor:为什么这个空检查失败

好的。。我已经想通了。。这是的解决方案

@if(String.IsNullOrEmpty(@Model.originalPageLink.ToString()) == false )

我必须将ToString()放在动态变量上。现在它工作正常。

"当你消除了不可能的东西时,剩下的东西,无论多么不可能,都必须是真相"

模型可能为空吗?这是剩下的唯一可能为空的东西。。。