2

クラス プロジェクト (または別の Web アプリケーション プロジェクト) から Web アプリケーション プロジェクトに dll をインポートし、@helper を再利用する方法はありますか? Razor を使用した Web アプリケーションの再利用性は、それが達成できない場合、ほぼゼロに見えます。

4

1 に答える 1

3

あなたはそれを行うことができますが、いくつかのフープをジャンプする必要があります.

  1. RazorGeneratorを取得する必要があります。「これは、実行時ではなく設計時に Razor ファイルを処理できるようにする Visual Studio 用のカスタム ツールであり、再利用と配布を簡単にするためにアセンブリに組み込むことができます。」

  2. RazorGenerator を使用すると、関数を宣言するクラス ライブラリ プロジェクトに .cshtml ファイルを作成できますhelper。たとえば、Foo.cshtml というファイルでは次のようになります。

    @helper MyHelper(string parameter) {<text>@parameter</text>}
    
  3. これらのヘルパーは、.cshtml ファイルを表す静的クラスの静的メソッドとして存在します。上記の例では、 に変換されFoo.MyHelperます。

  4. これらの静的メソッドは、他の静的メソッドと同様に、Web アプリケーションの .cshtml ファイルから呼び出すことができます。using(ヘルパーを含む名前空間を指す正しいディレクティブを追加したと仮定します。) 例:

    <div>@Foo.MyHelper("hello world")</div>
    
于 2013-04-06T23:11:50.017 に答える