C # Razor: почему эта проверка на ноль не удалась - PullRequest
1 голос
/ 23 мая 2011

Привет, я использую бритву C # с umbraco cms. Я пытаюсь проверить, является ли переменная нулевой или пустой, но она всегда возвращает ошибку. Вот код

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

4 голосов
/ 23 мая 2011

ОК .. Я понял это .. Вот решение

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

Я должен поместить ToString () в динамическую переменную. Теперь все работает правильно.

1 голос
/ 23 мая 2011

«когда вы устранили невозможное, все, что остается, каким бы невероятным оно ни было, должно быть истиной»

Возможно ли, что Модель является нулевой? Это единственное, что может остаться нулевым ...

...