Что такое эквивалент isset PHP в c#.NET 4 для свойств "динамических" объектов?
Я работаю с MVC 3 в тот момент, когда я использую ViewBag. Я хотел бы проверить, было ли назначено одно из свойств ViewBag. Я знаю, что в PHP вы можете сделать isset (переменная), но есть ли что-то подобное в .NET 4?
сценарий заключается в том, что я делаю вложенный макет, который принимает заголовок раздела и субтитры раздела через ViewBag. Они разделены разделителем, и подзаголовок является необязательным. Я не хочу отображать разделитель, если подзаголовок не ставить.
вот как я себе представляю, где isset будет заменен эквивелантом .NET 4.
@section header
{
<h2>@ViewBag.SectionTitle</h2>
@if(isset(ViewBag.SectionSubTitle))
{
<div id="section-title-seperator"> - </div><h3>@ViewBag.SectionSubTitle</h3>
}
}
рядом с прямым ответом на мой вопрос я также открыт для альтернативных решений (в случае, если я злоупотребляю ViewBag).
спасибо заранее.
1 ответов
вы можете проверить, если это null
такой:
@if(ViewBag.SectionSubTitle != null)
.
isset()
в PHP на самом деле просто проверяет, есть ли значение. Из руководства:
isset () вернет FALSE, если тестирование переменная имеет значение null
вы также можете использовать ViewDataDictionary.ContainsKey
на ViewData
собственность. Потому что ViewData["SectionSubTitle"]
это equavilient к ViewBag.SectionSubTitle
в этом случае вы могли бы сделать:
@if(ViewData.ContainsKey("SectionSubTitle"))