2013-06-24 19 views
5
<b>Start Date: </b>@employee["StartDate"].<br /> 

Korzystanie MVC Razor 3/C#, jak mogę sprawdzić, czy wartość jest null employee["StartDate"]/pusty w cshtml? Tak, że jeśli jest to, że zamiast wyświetlania:Jak mogę sprawdzić/null pustej wartości cshtml

<b>Start Date: </b>Unknown.<br /> 

Próbowałem:

@if(employee["StartDate"] == null){<b>Start Date: </b>Unknown.<br />} 

ale to nie działa.

+0

Jaki model pracownik wyglądać? –

+0

@ string.IsNullOrEmpty (pracownik ["StartDate"]. ToString()) Sprawdź, czy to działa –

Odpowiedz

10

Spróbuj

<b>Start Date: </b>@(employee["StartDate"] ?? "Unknown").<br /> 

?? zwrócić wartość z lewej strony lub wartość z prawej strony, jeśli wartość po lewej stronie jest null.

1

Jeśli startDate to DateTime spróbuj porównać go z DateTime.MinValue.

Jeśli masz więcej problemów można umieścić punkt przerwania w kodzie brzytwa, aby zobaczyć, co dokładnie jest to, że pole

+0

Lub mogą korzystać z DateTime? i po prostu sprawdź zero. Po co robić więcej pracy dla siebie, aby ustawić wartość StartDate na MinValue, jeśli nie ma żadnej wartości? – IyaTaisho

+0

@IyaTaisho źle mnie zrozumiałeś. Ponieważ w pytaniu napisał, że próbował zerowej kontroli, jestem pewien, że ta wartość nie jest pusta –

+0

Ale niekoniecznie jest to wartość minimalna ... Może to być gdziekolwiek pomiędzy wartościami min i max dla tej sprawy, jeśli nie było zerowe . Dlaczego więc mówię, byłoby znacznie łatwiej, gdyby właśnie skorzystali z DateTime? na początek, a następnie można porównać do wartości pustej. – IyaTaisho

3

Jeśli tylko martwi null lub pusty

@(String.IsNullOrEmpty(employee["StartDate"])?"Unknow":employee["StartDate"]) 
2

skończyło się przy użyciu to:

@if(employee["StartDate"].ToString() == ""){<b>Start Date: </b>Unknown.<br />} 
else{<Start Date: </b>@employee["StartDate"].<br />} 

Ale czy istnieje "czystszy" sposób na napisanie tego?

+0

Czy 'employee [" StartDate "]' a DateTime? Nie widzę, jak wywołanie 'ToString' na' DateTime' może dać ci pusty ciąg. –

-1

Próbowałem jak poniżej, mam zmęczone Sprawdź podobne zerowy, to powinno działać

@if(employee["StartDate"] != DateTime.MinValue){ 
    <Start Date: </b>@employee["StartDate"].<br /> 
} 
else{ 
    <b>Start Date: </b>Unknown.<br /> 
} 
Powiązane problemy