对于“动态”对象的属性,PHP在c#.NET 4中的等价是什么?

我在使用ViewBag时正在使用MVC 3.我想测试是否已分配ViewBag的其中一个属性.我知道在 PHP中你可以做isset(变量),但在.NET 4中有类似的东西吗?

场景是我正在制作一个嵌套的布局,它通过ViewBag获取一个标题一个字幕副标题.它们由分隔符分隔,子标题是可选的.如果未设置子标题,我不想显示分隔符.

这就是我想象它将被.NET 4 equivelant取代的地方.

@section header 
{
    <h2>@ViewBag.SectionTitle</h2>
    @if(isset(ViewBag.SectionSubTitle)) 
    { 
        <div id="section-title-seperator"> - </div><h3>@ViewBag.SectionSubTitle</h3> 
    }
}

在我的问题的直接答案旁边,我也对替代解决方案持开放态度(如果我滥用ViewBag).

提前致谢.

您可以检查它是否为null,如下所示:

@if(ViewBag.SectionSubTitle!= null).

PHP中的isset()实际上只检查是否存在值.从手册:

isset() will return FALSE if testing
a variable that has been set to NULL

您还可以在ViewData属性上使用ViewDataDictionary.ContainsKey.因为ViewData [“SectionSubTitle”]与ViewBag.SectionSubTitle相同,所以在这种情况下你可以这样做:

@if(ViewData.ContainsKey( “SectionSubTitle”))

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...