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>)
また、拡張機能を同じ名前空間に配置しようとしましたが、結果はありませんでした。
お気に入りの拡張機能を使用するにはどうすればよいですか?
編集:名前空間自体は問題ではなく、すべてのビューとクラスで拡張機能を使用できる名前空間であり、同じビューで問題なく使用できます。問題は、デリゲートで使用する場合です。