IUrlHelperの拡張メソッドを作成しました。拡張メソッドでの.netコアの依存関係の使用
public static class UrlHelperExtensions
{
public static string JavaScript(this IUrlHelper helper, string contentPath, IOptions<TypeScriptOptions> tsOptions)
{
if (tsOptions.Value != null && tsOptions.Value.Minify)
{
contentPath = Path.ChangeExtension(contentPath, ".min.js");
}
return helper.Content(contentPath);
}
public static string Css(this IUrlHelper helper, string contentPath, IOptions<LessOptions> lessOptions)
{
if (lessOptions.Value != null && lessOptions.Value.Minify)
{
contentPath = Path.ChangeExtension(contentPath, ".min.css");
}
return helper.Content(contentPath);
}
}
私は、.NETのコアの依存性注入を使用する方法にIOptions<TypeScriptOptions> tsOptions
とIOptions<LessOptions> lessOptions
に合格したいと思います。カミソリで
私は、次のしているビュー:
@inject IOptions<CssOptions> lessOptions
<link href="@Url.Css("~/css/site.css", lessOptions)" rel="stylesheet" asp-append-version="true">
しかし、私は単純にやりたい:
<link href="@Url.Css("~/css/site.css")" rel="stylesheet" asp-append-version="true">
私は.NETのコアのドキュメントを見てみました、私はしましたいくつかのGoogle検索を行ったが、私がしたいことではないタグヘルパーに頼らずに、自分が望むものを達成する方法を見つけることができないようだ。
これを動作させるにはどうすればよいですか?
パス:
そして、サービスではなく
options
インスタンスのビューに注入されるのでしょうか?あなたはミドルウェアを作ろうとしていますか?拡張メソッドは静的なので、どの状態も静的であるか、渡されなければなりません。 – Romoku答えを提供するために質問を更新しました。 –