2011-05-23 64 views
1

嗨我正在使用C#剃须刀与umbraco cms。我试图检查一个变量是否为空或空,但它总是返回一个错误。下面是代码C#剃须刀:为什么这个空检查失败

@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) 

此代码不会报错了,但是当字符串确实是返回一个非空值空值。

对此的任何想法?

+2

'@if(!String.IsNullOrEmpty(@ Model.originalPageLink))'应该没问题。你能发布你得到的错误信息吗? – 2011-05-23 18:17:13

+2

我假设你实际上有'IsNullOrEmpty(Model.originalPageLink)'和** not **'IsNullOrEmpty(@ Model.originalPageLink)',对吧? Model前面的'@'不应该在那里 - 你已经在C#上下文中。 – 2011-05-23 18:19:45

+0

“出错”是什么意思? – Gabe 2011-05-23 18:30:29

回答

4

OK..I已经想通了..下面是解

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

我必须把toString()方法的动态变量。现在它工作正常。

+1

啊,你正在使用动态模型。你应该考虑强类型的模型。它们更健壮。 (另外,请继续并**接受**您的答案。) – 2011-05-23 19:37:21

+0

Umbraco CMS仅使用动态模型。 – 2012-03-29 15:43:07

1

“当你排除了所有的不可能,无论遗体,即使是不可能也一定是真相。”

难道型号为空?这是唯一剩下的是能可能为空...