在CSHTML中枚举PSObject集合而不是CS的问题

时间:2016-03-11 19:09:46

标签: c# asp.net asp.net-mvc collections psobject

我正在编写一个小型Web应用程序,要求我在ASP.NET C#网页上显示PSObject集合的属性。

在我的控制器类中,一个.cs文件,我可以这样访问集合的First()方法:

$('.cal-menu-na h1').text($(this).text());

但是,当我尝试在我的.cshtml中执行类似的操作时,尝试枚举表头的属性名称,我得到一个例外,即此方法不存在。

Collection<PSObject> test = new Collection<PSObject>();
test.First();

异常详细信息:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:&#39; System.Collections.ObjectModel.Collection&#39;不包含&#39; First&#39;

的定义

我也尝试过简单地访问元素0,因为已经存在一个空检查:

<tr>
        @{
            if (ViewBag.VIDatastores != null)
            {
                foreach (var prop in ViewBag.VIDatastores.First().Properties)
                {
                    <th>@prop.Name</th>
                }
            }
        }
</tr>

返回另一个异常:

异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。

现在我当然调试了这个,并且在Locals窗口中正确枚举了Properties属性(它绝对不是null)。

我做错了什么?

最接近的匹配答案似乎指向web.config中缺少程序集引用;但由于这个类在System.dll中(据我所知)并且已经正确引用,我不知道该怎么做。

0 个答案:

没有答案