我正在尝试在网页上显示来自 Rally 的故事(分层要求)和缺陷列表。
我们在缺陷上有一个名为“InfraID”的自定义字段,但在我们的层次要求上没有。有没有办法检测每个 DynamicJsonObject 是否有一个名为“InfraId”的键以避免它抛出异常?
我尝试过 TryGetValue、Contains、HasKey,认为它被视为字典,但我不断收到 KeyNotFoundException。“给定的键不在字典中”
这是在 Razor ASP.NET MVC 视图中使用的。
@if (story.HasKey("InfraID"))
{
<td>@story["InfraID"];
</td>
}
所以我无法弄清楚 if 语句可以用来避免抛出异常。Story 的类型为 Rally.RestAPI.DynamicJsonObject。
我正在尝试使用相同的 html,无论它是缺陷还是故事,因为其他一切都正常。这只是因为它是缺陷的自定义属性。
如果它有助于看起来相关的堆栈跟踪是:
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Rally.RestApi.DynamicJsonObject.GetMember(String name)
at Rally.RestApi.DynamicJsonObject.TryGetMember(GetMemberBinder binder, Object& result)
所以我希望这并不意味着我不能在我的前端代码中检查它的存在。