Ich denke, NullReference gab Ihnen eine MVC-Lösung, weil Sie Ihren Beitrag mit "mvc" gekennzeichnet haben. Wenn Sie ASP.NET-Webformulare verwenden, können Sie die gleiche Technik verwenden, die beim Generieren von CSS-Links on-the-fly auf Benutzersteuerelementen verwendet wird. Führen Sie im Page_Init-Ereignis der Seite etwas wie das Folgende aus (im Beispiel unten verlinke ich auf 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);
}
Wenn Sie möchten, dass tatsächliche Elemente in der Kopfzeile gerendert werden, dann verwenden Sie HtmlGeneric Kontrolle anstelle von HtmlLink in meinem obigen Beispiel. Es ist immer noch die gleiche Technik - auf Page_Init, fügen Sie der Page.Header.Controls Sammlung:
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);
}