1

我正在 c#.net 中使用 XslCompiledTransform 创建基于 xml 和 xsl 的 html 文件。这完美地工作。

但是 xsl 也包含一个 css 文件,我想知道是否有任何方法可以让这个 css 样式包含在输出 html 文件中,所以它可以显示为一个独立文件(所以我不必复制css 文件到我想查看文件的任何地方)。

不幸的是,明确定义每个标签的样式也不是一种选择,而且如果没有 css,文件当然真的很难看。

任何帮助将不胜感激!:)

4

1 回答 1

1

在您的输出 html 中,在<head>标签内添加样式表链接。

<link rel="stylesheet" type="text/css" href="mystyle.aspx" />

然后在您的项目中添加一个名为mystyle.aspx. 在此文件的 Page_Load 中,您执行 xslt 转换以仅输出 css 部分。(并删除 html 页面转换的 css 部分)。

protected void Page_Load(object sender, EventArgs e) {
    Response.Clear();
    Response.ContentType = "text/css";

    string css = // Do your xslt transformation here

    Response.Write( css );
    Response.End();
}

如果所有页面的 CSS 都相同,您可能希望在上面的代码中添加一些缓存,以节省每次都进行转换。

您可能必须使用一些参数来指向您的 xml/xslt,但您没有在这方面的问题中提供任何信息。

于 2010-07-06T12:36:04.657 回答