我有一个相当复杂的 Web 表单,它使用带有一堆自定义 FieldTemplate 的 DynamicData。在 .NET 3.5 SP1 下一切正常...然后我转换为 .NET 4.0 并且某些字段拒绝加载,出现如下错误:
System.InvalidOperationException:表 'Tickets' 没有名为 'Contact' 的列。
堆栈跟踪显示 System.Web.DynamicData.MetaTable.GetColumn(String columnName) 抛出实际异常,因此认为该函数发生了一些变化。不知道是什么,但是... :(
我已经验证了这些列在那里(我可以使用 Eval() 等访问,但 DynamicControl 找不到这些列。)更糟糕的是,有几个字段可以工作,我看不到有效的列和无效的列之间有什么真正不同。所有不起作用的都是关联,但也有一些关联也有效。
编辑:刚刚更改了问题标题...我使用 System.Web.DynamicData.MetaTable.GetTable() 跟踪并抓取了 MetaTable 本身,果然 MetaTable 缺少该列。我只是不明白为什么?