:
<link rel="stylesheet" href="@Url.Action("GetCss", "Serve", new {id="filename"})" />
コントローラー・コードを。 ASP.NET Webフォームを使用している場合は、ユーザーコントロールでオンザフライでCSSリンクを生成する場合と同じ手法を使用できます。ページのPage_Initイベントでは、(下の例では、私はjqueryの-UI-CSSにリンクしています)は、次のような何か:あなたは、実際の要素を使用し、その後、ヘッダーにレンダリングする場合は
protected void Page_Init(object sender, EventArgs e)
{
System.Web.UI.HtmlControls.HtmlLink jqueryUICSS;
jqueryUICSS = new System.Web.UI.HtmlControls.HtmlLink();
jqueryUICSS.Href = "styles/jquery-ui-1.8.13.custom.css");
jqueryUICSS.Attributes.Add("rel", "stylesheet");
jqueryUICSS.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(jqueryUICSS);
}
を上記の例ではHtmlLinkの代わりにHtmlGenericコントロールを使用しています。それはまだ同じ手法だ - Page.Header.Controlsコレクションに追加し、Page_Init上:
Webフォームのみのプロジェクトのための良い方法は、静的なのではなく、自分のページに
.ashx
ハンドラにリンクすることです
protected void Page_Init(object sender, EventArgs e)
{
System.Web.UI.HtmlControls.HtmlGenericControl mystyles;
mystyles = new System.Web.UI.HtmlControls.HtmlGenericControl();
mystyles.TagName = "style";
string sampleCSS = "body { color: Black; } h1 {font-weight: bold;}";
mystyles.InnerText = sampleCSS;
Page.Header.Controls.Add(mystyles);
}
私はもともと、これをZrutyの答えに掲載しましたが、一般的にこの質問に適用されます。あなたのCSSをどうやってまとめるか慎重にしたいのです。おそらく、サイトのすべてのページにCSSファイルを作成する必要はありません。クライアント側のキャッシュを利用する必要があるので、最初にページをヒットするたびに余分なリクエストをする必要はありません – Dlongnecker