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

C#Razor:为什么这个空检查会失败,c#,razor,umbraco,C#,Razor,Umbraco,您好,我正在使用C#razor和umbraco cms。我试图检查一个变量是否为null或空,但它总是返回一个错误。这是密码 @if(String.IsNullOrEmpty(@Model.originalPageLink) == false) { <div>Read the original page from <a href="@Model.originalPageLink">@Model.originalPageName</a></div&g

您好,我正在使用C#razor和umbraco cms。我试图检查一个变量是否为null或空,但它总是返回一个错误。这是密码

@if(String.IsNullOrEmpty(@Model.originalPageLink) == false)
{
   <div>Read the original page from <a href="@Model.originalPageLink">@Model.originalPageName</a></div>
}
我在这里尝试了以下代码:

@if(Model.originalPageLink != null)
此代码不会出错,但在字符串实际为null时返回非null值

有什么想法吗?

“当你消除了不可能,剩下的无论多么不可能,都一定是真相。”

模型是否可能为空?这是唯一可能为空的东西…

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


模型是否可能为空?这是唯一可能为空的东西…

好的..我已经弄明白了。。这是解决办法

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

我必须在动态变量上加上ToString()。现在它可以正常工作了。

好的。我已经弄明白了。。这是解决办法

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

我必须在动态变量上加上ToString()。现在它可以正常工作了。

@if(!String.IsNullOrEmpty(@Model.originalpage))
应该可以。你能发布你收到的错误消息吗?我假设你实际上有
IsNullOrEmpty(Model.originalPageLink)
而不是
IsNullOrEmpty(@Model.originalPageLink)
,对吗?模型前面的
@
不应该在那里--此时您已经处于C#上下文中。
@if(!String.IsNullOrEmpty(@Model.originalPageLink))
应该可以。你能发布你收到的错误消息吗?我假设你实际上有
IsNullOrEmpty(Model.originalPageLink)
而不是
IsNullOrEmpty(@Model.originalPageLink)
,对吗?模型前面的
@
不应该在那里——此时您已经处于C#上下文中。啊,您正在使用动态模型。您应该考虑强类型的模型。它们更加健壮。(同时,请接受您的回答。)翁布拉科CMS只使用动态模型。啊,您使用的是动态模型。您应该考虑强类型的模型。它们更加健壮。(另外,请继续并接受您的答案。)翁布拉科CMS专门使用动态模型。