Sau*_*nda 7 css asp.net custom-controls stylesheet
我正在开发一个自定义控件,它是表和按钮的组合.我还有一个外部CSS样式表,它定义了这些元素的样式.
Control的类型是CompositeControl,在名称空间MyControls下,类的定义在类文件CompositeControl.cs中,生成的dll文件名为MyControls.dll
样式表称为styles.css,与CompositeControl.cs位于同一文件夹中
对于每个控件(Button,TableCell等),我已经指定了CssClass属性.
当我将此控件添加到我的ASP.NET网页并在localhost运行时检查HTML源代码时,我看到所有控件标记都正确设置了class属性,但源代码不包含<link>包含外部所需的标记样式表.
有人能告诉我还需要做些什么才能使这项工作成功吗?谢谢.
外部源文件不会自动包含在页面中.您应该在控件中手动将它们注册到您的页面:
HtmlLink cssSource = new HtmlLink();
cssSource.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(), "styles.css");
cssSource.Attributes["rel"] = "stylesheet";
cssSource.Attributes["type"] = "text/css";
Page.Header.Controls.Add(cssSource);
Run Code Online (Sandbox Code Playgroud)
还尝试使用ClientScriptManager.GetWebResourceUrl来获取嵌入资源的位置.以下是引用嵌入式资源的示例.