我正在使用 MVC 3 引入的 WebGrid,但是在传递参数的委托时不能应用我自己的扩展方法format
。
使用:
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@item.MyProperty.MyExtensionMethodForString()</span>)
我有
ERROR: 'string' does not contain a definition for 'MyExtensionMethodForString'
我试过铸造,没有用
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@((string)(item.MyProperty).MyExtensionMethodForString())</span>)
如果我使用标准方法,它可以工作:
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@(Utils.MyExtensionMethodForString(item.MyProperty))</span>)
我还尝试将扩展名放在同一个命名空间中,但没有结果。
如何使用我心爱的扩展程序?
编辑:命名空间本身不是问题,扩展可用于所有视图和类的命名空间,我可以在同一个视图中毫无问题地使用它。问题是在委托中使用它时。