0

複数のビューで使用する必要があるヘルパーメソッドがあります。これを達成するために、私はここでスコットガスリーによって示されたアプローチを実装しようとしました: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'は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です。"

どうすればこのこぶを乗り越えることができますか?

4

1 に答える 1

0

必要な HttpRequestBase オブジェクトの場合は、HttpContext.Current.Request代わりに を渡してみてくださいthis.Request

于 2012-07-22T12:56:33.827 に答える