複数のビューで使用する必要があるヘルパーメソッドがあります。これを達成するために、私はここでスコットガスリーによって示されたアプローチを実装しようとしました:http ://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the -helper-syntax-within-razor.aspx。参考までに、私のヘルパーメソッドは次のようになります。
@helper MyMethod(string parameter)
{
MyNamespace.MyClass.HelperMethod(this.Request, parameter)
}
ご覧のとおり、ビューに関連付けられているHttpRequestBaseオブジェクトにアクセスする必要があります。_Layout.cshtmlの先頭でメソッドを定義すると、コードは正常に機能します。ただし、他のビューで使用する必要があります。それで、前述のように、私はscottguによって強調されたアプローチを使用しました。残念ながら、次のようなランタイムエラーが発生します。
"CS0026:キーワード'this'は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です。"
どうすればこのこぶを乗り越えることができますか?