@helper の出力にカスタム変換を実装することは可能ですか? 私のポイントは、これらの線に沿って何かを持つことを可能にする解決策に到達することです:
@helper RenderCombinedStylesheetsWithColorOverride(string color)
{
<link rel="stylesheet" type="text/css" href="menu.css" />
<link rel="stylesheet" type="text/css" href="site.css" />
<style type="text/css">
* { color: @color; }
</style>
}
ツイストは、ヘルパー (RenderCombinedStylesheets...) の名前にあり、ここで何をしたいのかを示唆しています。つまり、通常の HTML エンコードされたヘルパーの出力を取得し、それをカスタム コードにパイプします。<link rel="stylesheet" ... />
そこで、分解してから再構築して、最終的な出力が、生成された結合および縮小された css ファイルへの単一の参照になるようにしたいと思います。
これは単純化された例であることに注意してください。実際には、複数のパラメーターがあり、出力変換は単にスタイルシートのフラグメントを組み合わせることに限定されません。また、この方法で JavaScript コードを生成したいと考えています。
主な目標は、通常の Razor テンプレートをビューの特定のセクションに適用し、それらのセクションで追加の変換を実行してから最終出力を生成できるようにすることです。
どんなアイデアでも大歓迎です!
更新:私はこれを達成する方法が単純な古い HtmlHelper 拡張機能を使用することを示唆しているこのSO の質問に出くわしました。私は彼らが何をしているのかについて不完全な理解をしているか、少なくとも彼らの力を過小評価しているようです. 実装状況はまた報告します。